creativeworm
@creativeworm

Как верно пользоваться preg_match_all?

Требуется получить тег, в котором найдено вхождение.
Есть вот такой PHP:
<?php
$string = '<body>
    <h1>Текст!</h1>
    <p><a href="#">текст ссылки</a></p>
    <p><a href="#">текстище ссылки</a></p>
    <table>
        <tr><td>Текст 1</td></tr>
        <tr><td>Текст 2</td></tr>
    </table>
</body>';

if(preg_match_all("'<*?[\/\!]*?[^<>]*?>текст'i", $string, $result)) {
    print_r($result);
}
?>


Требуется чтобы учитывались регистронезависимые совпадения и слово только целиком (чтобы "текстище") не попадал под условие.
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 1
copist
@copist
Empower people to give
Не стоит пользоваться регулярками для разборка семантических данных. HTML надо разбирать как подвид XML. Есть несколько библиотек, штатных и дополнительных, которые исправляют невалидный HTML и делать удобные запросы по данным

Несколько ссылок по этой теме
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы