@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. Как поправить?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
TopHit.ru Москва
от 90 000 до 100 000 руб.
BSLab Москва
от 100 000 до 150 000 руб.
18 янв. 2019, в 14:48
50000 руб./за проект
18 янв. 2019, в 14:12
70000 руб./в месяц