@denism300

Как составить регулярку?

Есть код
<div class="class-1">
    <label><a href="#" class="terms-of-service">Link text</a></label>
    <div id="class-2">
        <h2>Header</h2>
        <p>some text</p>
    </div>
</div>

нужно извлечь содержимое тега div class-1
написал такую регулярку:
$pattern = '#<div class="class-1">(.*)</div>#Uis'
однако, она удаляет оба закрывающих тега div. Как поправить?
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 2
@VisualIdeas
$pattern = '#<div class="class-1">(.*)</div>$#Uis'

Доллар в конце скажет что ваш закрывающий див - это последний элемент

Но, вообще, для парсинга HTML лучше использовать готовые библиотеки имеющий LIKE JQuery синтаксис. https://github.com/search?l=PHP&q=HTML+Parser&type...
Ответ написан
Вообще парсить HTML это плохая идея, но если нужно парсить маленький кусочек, то можно.
Я для написания регулярок использую сервис:
https://regex101.com/

А если нужно что то больше чем регулярка, то:
php.net/manual/ru/domdocument.loadhtml.php
Ответ написан
Ваш ответ на вопрос

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

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