Я просматриваю некоторые результаты поиска в базе данных на веб-сайте и пытаюсь выделить в возвращаемых результатах термин, соответствующий искомому термину. Ниже то, что у меня есть (в php):
$highlight = trim($highlight);
if(preg_match('|\b(' . $highlight . ')\b|i', $str_content))
{
$str_content = preg_replace('|\b(' . $highlight. ')(?!["\'])|i', "<span class=\"highlight\">$1</span>",
$str_break;
}
Недостатком этого маршрута является то, что, если мой термин для поиска также отображается в постоянной ссылке url, возвращаемый результат вставит span в атрибут href и нарушит тег привязки. Есть ли в моем регулярном выражении какое-либо исключение "любой" информации из результатов поиска, которые появляются между открывающим и закрывающим тегом HTML?
Я знаю, что могу использовать функцию strip_tags () и просто выкладывать результаты в виде обычного текста, но я бы не стал этого делать, если бы мне не пришлось.