3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function highlight($text, $words) { preg_match_all ( '~[\w\'\"]?~', $words, $m ); if (! $m) return $text; $re = '~\\b(' . implode ( '|', $m [0] ) . ')\\b~i'; return preg_replace ( $re, '<em>$0</em>', $text ); } $text = "this is Mechanic's test"; $word = "Mechanic's"; echo highlight($text,$word); $text = 'this is Mechanic"s test'; $word = 'Mechanic"s'; echo "\n".highlight($text,$word); $text = 'this is Mechanics test'; $word = 'mech'; echo "\n".highlight($text,$word); // echo "\n".str_replace($word,"<em>$word</em>",$text) ;
based on NCkcM
Output for 5.6.0 - 5.6.30, hhvm-3.15.4, 7.0.0 - 7.3.0rc3
<em></em>this<em></em> <em></em>is<em></em> <em></em>Mechanic<em>'</em><em>s</em><em></em> <em></em>test<em></em> <em></em>this<em></em> <em></em>is<em></em> <em></em>Mechanic<em>"</em><em>s</em><em></em> <em></em>test<em></em> <em></em>this<em></em> <em></em>is<em></em> <em></em>Mechanics<em></em> <em></em>test<em></em>