пропуск ненужной инфы при импорте новости

A
На сайте с 16.03.2006
Offline
136
asf
464

Добрый день!

В программе импорта новостей используются команды {skip} для пропуска любых символов и {get} для получения новости.

При настройке программы столкнулся с проблемой - текст новости разделяется блоком коротких новостей на две части. Нужные две части выделил зеленым цветом, ненужную красным. Вот не пойму как убрать этот ненужный блок. Может кто подскажет?


<div class="newsbody">
текст</p><noindex><div id="partincut">

<h6>текст</h6>
<ul><li><a href="http://www.site.ru/goto/?0:21:http://site.ru/russia/20100102/157339082.html" rel="nofollow" target="_blank">текст</a></li>
<li><a href="http://www.site.ru/goto/?0:21:http://site.ru/russia/20100102/157339082.html" rel="nofollow" target="_blank">текст</a></li>
<li><a href="http://www.site.ru/goto/?0:21:http://site.ru/russia/20100102/157339082.html" rel="nofollow" target="_blank">текст</a></li>
</ul>
</div></noindex><p>текст</p>
</div>

AlikZP
На сайте с 22.11.2009
Offline
107
#1

1. Регуляркой, но в них я не силен.

2. Строковыми функциями: что-то типа

$start = strpos($your_text, '<noindex>');

$end = strpos($your_text, '</noindex>') + strlen('</noindex>');
$res = substr_replace($your_text, '', $start, $end - $start);

Код должен быть рабочим, но я не проверял :)

Website CMS: быстрая, удобная, недорогая! Вечная лицензия за 45$ (/ru/forum/524503) Яся - быстрый поиск фото для товаров. OpenCart/ocStore. Дополнение. (/ru/forum/665287) Грамотная верстка ваших макетов (/ru/forum/comment/8853216)
S
На сайте с 14.04.2008
Offline
60
#2

Ну если структура такова всегда...

$subj=preg_replace('~(<p>.*</p>)(.*)(<p>.*</p>)~Uis','\1\3',$subj);

где $subj - ваш кусок текста. Кстати, там вначале пропущен открывающий абзац тег, а у меня в шаблоне он есть. Если его действительно в вашем коде нет, то или уберите его из паттерна, или (что правильнее) поправьте вывод своего скрипта...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий