![]() |
![]() |
#21 | |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#22 |
Думаю, что надо худеть
Академик
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 632655
|
![]()
seokotov, сам шаблон верный, вся суть как его программа забирает и какие настройки перед этим применяет.
Вместо скобок просто используйте % Вот так попробуйте: Код:
@INLINE {$news_content | preg_replace : '%<div class="(arcticle__read\-more read\-more|article__social\-wrapper|arcticle__read\-more read\-more|read\-more__photo)".*?>[\S\s]*?</div>%'} Можете сами протестить, в файл test.txt закинуть html код страницы тестовой и в php файле выполнить: Код:
$test_text=file_get_contents("test.txt"); $testshab='<div class="(arcticle__read\-more read\-more|article__social\-wrapper|arcticle__read\-more read\-more|read\-more__photo)".*?>[\S\s]*?</div>'; echo preg_replace("%" . $testshab . "%iu", "|||||||||||||||||||||||||||||||||", $test_text); Последний раз редактировалось XPraptor; 30.08.2022 в 20:41. |
![]() |
![]() |
![]() |
#23 |
попробуй отними
Профессор
Регистрация: 14.07.2020
Сообщений: 905
Сказал(а) спасибо: 1,099
Получил(а) "Спасибо": 2,159
Нарушения: 0/0 (0)
Репутация: 757769
|
![]()
seokotov, я когда занимался очисткой спаршенного кода от всякого мусора, не делал больших регулярок, намного быстрее получалось прогнать 3-4 коротких чем 1 длинную,
да и самому проще контролировать результат работы и вносить правки P.S. и ещё очень часто проще получать нужные данные сразу при парсинге средствами работы с dom чем потом разбирать регулярками |
![]() |
![]() |
2 пользователя(ей) сказали cпасибо: |
![]() |
#24 |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]()
ребяты а как jwplayer заставить работать?
вот код источника ![]() а у меня вот так выводит ![]() хотя код в принципе не трогает этот блок Код:
@INLINE {$news_content | preg_replace : '(<div class="(arcticle__read\-more read\-more|article__social\-wrapper|arcticle__read\-more read\-more|read\-more__photo|article__google\-news\-mobile|clears mh)".*?>([\S\s]*?)</div>|</div>|<a([\S\s]*?)</a>)iu'} |
![]() |
![]() |
![]() |
#25 |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]()
а еще как удалить тег div оставив содержимое?
у меня остаются некоторые div блоки и дополнительно один лишний </div> ![]() и летит верстка но когда ресурс сохраняется еще раз то все на место встает ничего не понимаю ) |
![]() |
![]() |
![]() |
#26 |
Думаю, что надо худеть
Академик
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 632655
|
![]()
Вот эта часть в шаблоне вашем поиска: ...</div>|</div>|... заменяет окончание дива без его начала.
Перед ним шаблон с началом дива и концом, а этот шаблон после него должен вообще удалить все закрывающие дивы которые не имеют перечисленных классов в предыдущем шаблоне, зачем он? Удалить дивы, оставив содержимое, я не могу понять что за шаблонизатор у вас (@INLINE {...), но в реальном preg_replace в php это выглядело бы так: Код:
$news_content=preg_replace("%<div.*?>([\S\s]*?)</div>%iu", "$1", $news_content); |
![]() |
![]() |
![]() |
#27 | |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]()
новое веселье. хочу удалить блок полностью НО
есть в источнике такой блок Код:
<div class="cross-links"><ul><li><a href="/world/1395744-%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3-%D8%A7%D9%84%D8%A3%D9%88%D9%83%D8%B1%D8%A7%D9%86%D9%8A-%D9%8A%D9%88%D9%82%D8%B9-%D9%85%D8%B1%D8%B3%D9%88%D9%85%D8%A7-%D8%B1%D9%81%D8%B6-%D8%A3%D9%8A-%D9%85%D9%81%D8%A7%D9%88%D8%B6%D8%A7%D8%AA-%D8%A8%D9%88%D8%AA%D9%8A%D9%86/"><div class="photo"><picture><!--[if IE 9]><video style="display: none;"><![endif]--><source media="(-webkit-min-device-pixel-ratio: 2) and (min-resolution: 120dpi)" data-srcset=" https://cdni.russiatoday.com/media/pics/2022.10/xxs/633c10b54c59b724f66d2bfb.jpg 560w, https://cdni.russiatoday.com/media/pics/2022.10/xs/633c10b54c59b724f66d2bfb.jpg 640w, https://cdni.russiatoday.com/media/pics/2022.10/thumbnail/633c10b54c59b724f66d2bfb.jpg 920w, https://cdni.russiatoday.com/media/pics/2022.10/m/633c10b54c59b724f66d2bfb.jpg 1080w, https://cdni.russiatoday.com/media/pics/2022.10/l/633c10b54c59b724f66d2bfb.jpg 1536w, https://cdni.russiatoday.com/media/pics/2022.10/article/633c10b54c59b724f66d2bfb.jpg 1960w, https://cdni.russiatoday.com/media/pics/2022.10/xxl/633c10b54c59b724f66d2bfb.jpg 2480w " srcset=" https://cdni.russiatoday.com/media/pics/2022.10/xxs/633c10b54c59b724f66d2bfb.jpg 560w, https://cdni.russiatoday.com/media/pics/2022.10/xs/633c10b54c59b724f66d2bfb.jpg 640w, https://cdni.russiatoday.com/media/pics/2022.10/thumbnail/633c10b54c59b724f66d2bfb.jpg 920w, https://cdni.russiatoday.com/media/pics/2022.10/m/633c10b54c59b724f66d2bfb.jpg 1080w, https://cdni.russiatoday.com/media/pics/2022.10/l/633c10b54c59b724f66d2bfb.jpg 1536w, https://cdni.russiatoday.com/media/pics/2022.10/article/633c10b54c59b724f66d2bfb.jpg 1960w, https://cdni.russiatoday.com/media/pics/2022.10/xxl/633c10b54c59b724f66d2bfb.jpg 2480w " sizes="148px"><source data-srcset=" https://cdni.russiatoday.com/media/pics/2022.10/xxs/633c10b54c59b724f66d2bfb.jpg 280w, https://cdni.russiatoday.com/media/pics/2022.10/xs/633c10b54c59b724f66d2bfb.jpg 320w, https://cdni.russiatoday.com/media/pics/2022.10/thumbnail/633c10b54c59b724f66d2bfb.jpg 460w, https://cdni.russiatoday.com/media/pics/2022.10/m/633c10b54c59b724f66d2bfb.jpg 540w, https://cdni.russiatoday.com/media/pics/2022.10/l/633c10b54c59b724f66d2bfb.jpg 768w, https://cdni.russiatoday.com/media/pics/2022.10/article/633c10b54c59b724f66d2bfb.jpg 980w, https://cdni.russiatoday.com/media/pics/2022.10/xxl/633c10b54c59b724f66d2bfb.jpg 1240w " srcset=" https://cdni.russiatoday.com/media/pics/2022.10/xxs/633c10b54c59b724f66d2bfb.jpg 280w, https://cdni.russiatoday.com/media/pics/2022.10/xs/633c10b54c59b724f66d2bfb.jpg 320w, https://cdni.russiatoday.com/media/pics/2022.10/thumbnail/633c10b54c59b724f66d2bfb.jpg 460w, https://cdni.russiatoday.com/media/pics/2022.10/m/633c10b54c59b724f66d2bfb.jpg 540w, https://cdni.russiatoday.com/media/pics/2022.10/l/633c10b54c59b724f66d2bfb.jpg 768w, https://cdni.russiatoday.com/media/pics/2022.10/article/633c10b54c59b724f66d2bfb.jpg 980w, https://cdni.russiatoday.com/media/pics/2022.10/xxl/633c10b54c59b724f66d2bfb.jpg 1240w " sizes="148px"><!--[if IE 9]></video><![endif]--><img data-sizes="auto" src="https://cdni.russiatoday.com/media/pics/2022.10/xxs/633c10b54c59b724f66d2bfb.jpg" class="lazyautosizes js-lazysize_loaded" data-src="https://cdni.russiatoday.com/media/pics/2022.10/xxs/633c10b54c59b724f66d2bfb.jpg" alt="الكرملين يعلق على إغلاق كييف باب التفاوض مع موسكو" sizes="148px"></picture><!-- noscript pattern --><noscript><img src="https://cdni.russiatoday.com/media/pics/2022.10/original/633c10b54c59b724f66d2bfb.jpg" alt="الكرملين يعلق على إغلاق كييف باب التفاوض مع موسكو" /></noscript></div> الرئيس الأوكراني يوقع مرسوما بشأن "رفض أي مفاوضات مع بوتين" </a></li></ul></div> Код:
@INLINE {$news_content | preg_replace : '(<div class="(cross\-links|arcticle__read\-more read\-more|article__social\-wrapper|arcticle__read\-more read\-more|read\-more__photo)".*?>[\S\s]*?</div>|<a([\S\s]*?)</a>)iu'} Цитата:
|
|
![]() |
![]() |
![]() |
#28 |
Думаю, что надо худеть
Академик
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 632655
|
![]()
<div class="(cross\-links наступает раньше <a
а в конце </a>также наступает и для <div class="(cross\-links |
![]() |
![]() |
![]() |
#29 |
se ксенофоб
Доцент
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076
|
![]() |
![]() |
![]() |
![]() |
#30 |
Думаю, что надо худеть
Академик
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 632655
|
![]()
Почему не победить - просто там не верная html разметка, потеряны теги, нужно выполнять отдельно, сначала выполнить замену <a([\S\s]*?)</a>
А потом уже дивы. |
![]() |
![]() |
Сказали спасибо: |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
РСЯ - Полноэкранный мобильный блок | ziliboba0213 | РСЯ, Google AdSense и Youtube | 25 | 17.03.2022 14:48 |
Как сделать блок Адсенс 970х250? | Had | РСЯ, Google AdSense и Youtube | 8 | 10.10.2021 21:03 |
Удалить из текста все div'ы с содержимым | seokotov | Веб-строительство | 19 | 09.01.2021 20:40 |
Блок ссылок от G | medexpert | Веб-строительство | 28 | 23.12.2020 06:13 |
Как сделать именно такой блок РСЯ? | Had | РСЯ, Google AdSense и Youtube | 4 | 16.10.2020 10:52 |