Форум об интернет-маркетинге
Вернуться   Форум об интернет-маркетинге > Технические вопросы > Веб-строительство

Ответ
 
Опции темы
Старый 29.08.2022, 17:57   #11
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от ziliboba0213 Посмотреть сообщение
Не очень понятно, что надо, заменять <div class="photo">...</div> или <div class="read-more__photo">...</div>?
это разные блоки
seokotov вне форума   Ответить с цитированием
Старый 29.08.2022, 19:22   #12
ziliboba0213
Позитив =)
Академик
 
Аватар для ziliboba0213
 
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,366
Сказал(а) спасибо: 24,605
Получил(а) "Спасибо": 13,428
Нарушения: 0/0 (0)
Репутация: 1021380

По умолчанию Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от seokotov Посмотреть сообщение
это разные блоки
Так оба тогда и делай:
<div class="read-more__photo">[\S\s]*?</div>
<div class="photo">[\S\s]*?</div>

И у тебя в коде в конце нет > у последнего закрывающего дива.
ziliboba0213 вне форума   Ответить с цитированием
Сказали спасибо:
Старый 29.08.2022, 21:35   #13
XPraptor
Думаю, что надо худеть
Академик
 
Аватар для XPraptor
 
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 608321

По умолчанию Re: Удалить блок div из текста при парсинге

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>'}
Состояние бота google и полезные ресурсы: всё про гугл
XPraptor вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Старый 30.08.2022, 09:39   #14
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от ziliboba0213 Посмотреть сообщение
Так оба тогда и делай:
<div class="read-more__photo">[\S\s]*?</div>
<div class="photo">[\S\s]*?</div>

И у тебя в коде в конце нет > у последнего закрывающего дива.
да мне как раз div "photo" нужен а он его резал
seokotov вне форума   Ответить с цитированием
Сказали спасибо:
Старый 30.08.2022, 09:40   #15
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от XPraptor Посмотреть сообщение
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>'}
без скобок и iu?
seokotov вне форума   Ответить с цитированием
Старый 30.08.2022, 12:41   #16
ziliboba0213
Позитив =)
Академик
 
Аватар для ziliboba0213
 
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,366
Сказал(а) спасибо: 24,605
Получил(а) "Спасибо": 13,428
Нарушения: 0/0 (0)
Репутация: 1021380

По умолчанию Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от seokotov Посмотреть сообщение
да мне как раз div "photo" нужен а он его резал
Мучай XPraptor-а, он в этом разбирается, я эти регулярки сам ненавижу
ziliboba0213 вне форума   Ответить с цитированием
Старый 30.08.2022, 13:09   #17
XPraptor
Думаю, что надо худеть
Академик
 
Аватар для XPraptor
 
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 608321

По умолчанию Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от seokotov Посмотреть сообщение
без скобок и iu
iu надо если у вас UTF, а скобки - они есть для классов, а сам див не надо брать в скобки.
Ну и не ясно что за шаблонизатор у вас там, если он сам не подставляет в шаблон поиска символы, то возьмите строку всю после кавычек в %%
XPraptor вне форума   Ответить с цитированием
Старый 30.08.2022, 14:34   #18
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от XPraptor Посмотреть сообщение
iu надо если у вас UTF, а скобки - они есть для классов, а сам див не надо брать в скобки.
Ну и не ясно что за шаблонизатор у вас там, если он сам не подставляет в шаблон поиска символы, то возьмите строку всю после кавычек в %%
вот бы знать ))))
вотэтот
seokotov вне форума   Ответить с цитированием
Старый 30.08.2022, 14:56   #19
XPraptor
Думаю, что надо худеть
Академик
 
Аватар для XPraptor
 
Регистрация: 22.06.2020
Сообщений: 1,791
Сказал(а) спасибо: 1,526
Получил(а) "Спасибо": 1,939
Нарушения: 0/0 (0)
Репутация: 608321

По умолчанию Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от seokotov Посмотреть сообщение
вот бы знать ))))
вотэтот
Там вы не управляете ничем, нужно смотреть в коде как он вставляет шаблон, поэтому ничего не надо, только саму строку шаблона поиска ему скормить и уже если будут ошибки валить, тогда пробовать добавлять символы.

Ели память мне не врет, в нем может быть перепутана жадность, поэтому нужно будет знаки вопроса убрать если ошибается парсер ([\S\s]* без знаков вопроса вообще везде где они встречаются в шаблоне), ибо там обратное значение прописано в коде, но это не точно, я помню ковырял его когда-то, может сейчас уже этого нет.
XPraptor вне форума   Ответить с цитированием
Старый 30.08.2022, 16:18   #20
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: Удалить блок div из текста при парсинге

Цитата:
Сообщение от XPraptor Посмотреть сообщение
Там вы не управляете ничем, нужно смотреть в коде как он вставляет шаблон, поэтому ничего не надо, только саму строку шаблона поиска ему скормить и уже если будут ошибки валить, тогда пробовать добавлять символы.

Ели память мне не врет, в нем может быть перепутана жадность, поэтому нужно будет знаки вопроса убрать если ошибается парсер ([\S\s]* без знаков вопроса вообще везде где они встречаются в шаблоне), ибо там обратное значение прописано в коде, но это не точно, я помню ковырял его когда-то, может сейчас уже этого нет.
хз но вот такая запись в нем работает
Код:
@INLINE {$news_content | preg_replace : '(<p(?![\S\s]*<p)[\S\s]*|<div([\S\s]*?)</div>|</div>|<a([\S\s]*?)</a>)iu'}
просто сейчас потребовалось чтобы все кроме блока read-more и социалок выдералось, раньше некоторые блоки парсились в отдельные поля типа но иногда бывало так что там не одна вставка а две из твиттера или более 1 фотки
вот и захотелось сделать так чтобы прямо все поле контента выдерало со всем содержимым кроме ненужных блоков
вот пример страницы
seokotov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
РСЯ - Полноэкранный мобильный блок 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


Текущее время: 21:43. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot