3v4l.org

run code in 300+ PHP versions simultaneously
<?php function highlight($text, $words) { preg_match_all ( '~[a-zA-Z_\']*~', $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) ;
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
<em></em>this<em></em> <em></em>is<em></em> <em>Mechanic's</em><em></em> <em></em>test<em></em> <em></em>this<em></em> <em></em>is<em></em> <em>Mechanic</em><em></em>"<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>

preferences:
145.45 ms | 404 KiB | 219 Q