@a_ovchinnikov
Web developer

Как найти вхождение подстроки в HTML-код, не учитывая содержимое тэга title?

Мне нужно убедиться, что в HTML-коде присутствует все, что необходимо мне для дальнейшей работы. Для этой задачи выполняется поиск заданной подстроки. Проблема в том, что данная подстрока может встретиться еще и внутри тэга title, такую ситуацию мы само сбой должны игнорировать. Пытался использовать ретроспективные и опережающие проверки. Вот так оно работает:

$re = "/(?<!<title>)search string(?!<\/title>)/"

Но такой шаблон обнаружит вхождение строки вот в таком случае:

$str = <title> my search string abc</title>

Поэтому я написал что-то вроде этого:

$re = "/(?<!<title>)[^>]*search string[^<]*(?!<\/title>)/"


Само собой это не работает :) Подскажите пожалуйста, в чем ошибка? Как решить данную задачу?

Спасибо.
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ответы на вопрос 1
nazarpc
@nazarpc
Open Source enthusiast
Попробуйте перед проверкой просто заменить содержимое <title> на пустую строку (это если вам только искать) как-то так:
$str = preg_replace('#<title>[^<]+</title>#i', '', $str);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы