Я хочу выделить указанные ключевые слова в теле документа HTML.Сначала я использовал preg_replace, чтобы поместить вокруг ключевых слов, но, конечно, это вызывало проблемы, если ключевое слово было частью тега, например буква «i» (как в ).Поэтому вместо этого я использую DOM :: loadHTMLFile (путь) для загрузки документа, а затем использую preg_replace внутри значений каждого дочернего элемента.
Пока все хорошо.Я могу повторить простой текст документа с выделенными соответствующими словами и без помех от тегов.Но мне нужно повторить весь текст , включая теги после изменений, и я не знаю как.Вот что у меня есть:
if (file_exists('mss/'.$link_title)) {
$descfile = DOMDocument::loadHTMLFile('mss/'.$link_title);
foreach ($descfile->childNodes as $e) {
$desc_output = $e->nodeValue;
$desc_output = preg_replace($to_highlight, "<span class=\"highlight\">$0</span>", $desc_output);
}
echo ???
}
Что я должен повторить?