Вырезать последний тег и его содержимое

286
19 августа 2017, 03:01

Здравствуйте. Есть текст, в котором следующие содержание:

<div class="my_text">
   <p>первый абзац</p>
   <p>Второй</p>
   Текст без тегов
   <p>Последний абзац</p>
</div>

Вопрос: Каким образом вырезать самый последний абзац

и его содержимое? Учитывая то что абзацов может быть неопределенное количество, но вырезать всегда нужно только последний.

Буду благодарен за регулярное выражение.

Answer 1

Если на php, то SimpleHtmlDom библиотека вам в помощь. Там есть что-то типа (синтаксис лучше проверить, там есть доки)

$ret = $html->find(".div1", 0)->last_child();

Ну и собственно ремув его, а потом из класса SimpleHtmlDom получить модифицированный HTML

Answer 2

а абзацы всегда в тегах <p>? теги <p> должны быть включены в вырезанную строку? переводы строк есть?

$needle = substr($string, strrpos($string, "<p>"), -6);
READ ALSO
Кто должен отдать данные в шаблон?

Кто должен отдать данные в шаблон?

Есть такой код в роутере:

261
Как организовать запрос ElasticSearch?

Как организовать запрос ElasticSearch?

Вот проиндексированые атрибуты

298
Как правильно делить приложение?

Как правильно делить приложение?

Хочу делать всё правильно, потому интересуюсьЕсть контроллер SiteController с actionRegistration, который отображает страницу регистрации

290
Улучшить производительность php функций [startWith, endWIth]

Улучшить производительность php функций [startWith, endWIth]

Есть функции, которые проверяют начинается или заканчивается ли строка другой подстрокой:

313