Современные системы поиска при выводе результатов выделяют искомые слова в тексте. Это считается хорошим тоном для поисковой системы сайта, и мы рассмотрим пример, как сделать что-то подобное. Для этих целей мы будем использовать стандартную функцию PHP: preg_replace, а так же регулярное выражение.
Код:
1 2 3 4 5 6 | <? $search = 'яблоко' ; // ключевое слово поиска $pattern = "/((?:^|>)[^<]*)(" . $search . ")/si" ; //регулярное выражение $replace = '$1<b style="color:#FF0000; background:#FFFF00;">$2</b>' ; // шаблон замены строки $html = preg_replace( $pattern , $replace , $html ); // замена ?> |
Если вы решили использовать код в своих проектах, настоятельно рекомендуется экранировать все служебные символы в ключевом слове $search, которые могут быть использованы в регулярных выражениях.