@Emmet1

Как правильно искать контент внутри блока с помощью preg_match_all?

Задача - получить заголовки со страниц, с помощью регулярного выражения.
Допустим нужный мне заголовок находится в таком виде:
<span><h2>Заголовок</h2></span>

для поиска написал такое рег.выражения:
preg_match_all ('/<span><h2>(.*?)<\/h2><\/span>/', $header, $match);


такой вариант не находит заголовок.
Если выражение сделать проще, вот таким -
'/<h2>(.*?)<\/h2>/'
Заголовок найдется. Но мне нужен только один, обернутый в span
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Ваша регулярка работает https://regex101.com/r/hZhncC/1
Возможно у вас в разметке не все так просто, и есть дополнительные пробелы, атрибуты тегов или еще какие-то отличия, проверьте внимательно исходник.

Вообще регулярки плохо подходят для работы с HTML.
Ответ написан
Комментировать
Добавьте в маску открывающие теги, т.е. <span><h2>(.*?)<\/h2><\/span>
Ответ написан
Ваш ответ на вопрос

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

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