![]() |
![]() |
#31 |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]()
а бывает ли такое чудо чтобы вырезать последний абзац?
ну то есть последний тег <p></p> и его содержимое? |
![]() |
![]() |
![]() |
#32 |
Senior Member
Профессор
Регистрация: 22.06.2020
Сообщений: 685
Сказал(а) спасибо: 95
Получил(а) "Спасибо": 310
Нарушения: 0/0 (0)
Репутация: 336447
|
![]()
seokotov, да.
самый простой вариант кратко: - вырезаешь все - суешь в переменную - находишь в "ней" последний ( ....) - и ... |
![]() |
![]() |
![]() |
#33 | |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]() Цитата:
Код:
@INLINE {$news_content | preg_replace : '(<div([\S\s]*?)</div>|</div>|<a([\S\s]*?)</a>)iu'} |
|
![]() |
![]() |
![]() |
#34 | |
Думаю, что надо худеть
Академик
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 632655
|
![]() Цитата:
У тебя этот последний абзац p он внутри div-ов? (дивы-то удаляются у тебя полностью). Если нет, то используй отрицание поиска, вот так будет: Код:
'%<p(?!.*<p).*|<div([\S\s]*?)</div>|</div>|<a([\S\s]*?)</a>%siu' Только знаками процента или слэшами. И обрати внимание на ключи - добавлен s - это воспринимает весь текст как одну строку, уже без разделений на новые строки (иначе отрицание сложным будет если так не сделать). В принципе ты можешь записать и так: Код:
'%<p(?![\S\s]*<p)[\S\s]*|<div([\S\s]*?)</div>|</div>|<a([\S\s]*?)</a>%iu' ![]() |
|
![]() |
![]() |
Сказали спасибо: |
![]() |
#35 |
Senior Member
Профессор
Регистрация: 22.06.2020
Сообщений: 685
Сказал(а) спасибо: 95
Получил(а) "Спасибо": 310
Нарушения: 0/0 (0)
Репутация: 336447
|
![]() |
![]() |
![]() |
![]() |
#36 | |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]() Цитата:
дивы в конце отпадают и так, а вот в концеполучается два абзаца один пустой и один который надо почикать ![]() Код:
.... <p>абзац который надо удалить</p> <p></p> <div class="1"></div> <div class="1"></div> по скорости и частоте запросов не так много...раз в 6 часов выборку из 10 ресурсов гребет |
|
![]() |
![]() |
![]() |
#37 |
На серче с 01.11.2011
Аспирант
Регистрация: 02.07.2020
Сообщений: 68
Сказал(а) спасибо: 186
Получил(а) "Спасибо": 56
Нарушения: 0/0 (0)
Репутация: 2613
|
![]()
Вот так не получается?
$html = new DOMDocument(); $html->loadHTML($content); $iframe = $html->getElementsByTagName('iframe'); $iframe->getAttribute('src'); |
![]() |
![]() |
![]() |
#38 |
Думаю, что надо худеть
Академик
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 632655
|
![]() |
![]() |
![]() |
Сказали спасибо: |
![]() |
#39 |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]() |
![]() |
![]() |
![]() |
#40 | |
Думаю, что надо худеть
Академик
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 632655
|
![]() Цитата:
Сама процедура отрицания в регулярках очень опасна, может так нагрузить проц, что он ошалеет, но такие простые вложения можно юзать. |
|
![]() |
![]() |
Сказали спасибо: |