Основной HTML и rss парсер

Автор speaker_ya, 22 сентября 2007, 15:39:33

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

speaker_ya

я сейчас не столько вопрос напишу, а уже его решение. просто может кому пригодится.
Была такая проблема - поставил RSS парсер который постил новые сообщения на форум при их появлении на ленте новостей. Все бы хорошо, но там с новостью шли картинки в HTML формате. Я включил основной HTML в админке, что бы отображались тэги img - но все равно не пошло. Потом оказалось, что проблема в том, что в img шли тэги width и height - т.е. если ручками их убрать, то все начинало работать. Конечно никто не будет ручками править каждое новое сообщение. поэтому в движке я прописал разрешение на новых 2 параметра - на width и height, это было сделано в файле subs.php
итак , что бы дабавить параметры ищем
preg_match_all('~<img\s+src=(?:")?((?:http://|ftp://|https://|ftps://).+?)(?:")?(?:\s+alt=(?:")?(.*?)(?:")?)?(?:\s?/)?>~i', $data, $matches, PREG_PATTERN_ORDER);
и меняем на
preg_match_all('~<img\s+src=(?:")?((?:http://|ftp://|https://|ftps://).+?)(?:")?(?:\s+alt=(?:")?(.*?)(?:")?)?(?:\s+height=(?:")?(.*?)(?:")?)?(?:\s+width=(?:")?(.*?)(?:")?)?(?:\s?/)?>~i', $data, $matches, PREG_PATTERN_ORDER);

надеюсь это будет кому-то полезно.

CyberMax

Да это полезно.
А мне вот ещё лента попалась которая изображения с дивами (div) выдает с классами, которые вылазят в пост а не работают как надо. Причем одна и та же лента одно сообщение с одним дивом выдает, а другое уже с двумя и оба с классами разными.
А ещё другая лента из которой в сообщении код ссылки вылазит в котором в начале <a href=  а в конце [/url].
Может подскажете как это исправить?
Отказаться от таких лент решение знаю, но это ведь не интересно  :)

Попробовал вот это мод: More HTML Tags

он добавляет в тот же subs.php после 1724 строки одну строчку:
array_push($closable_tags, 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'address', 'tt', 'big', 'small', 'strike', 'dl', 'dt', 'dd', 'ul', 'ol', 'li', 'sub', 'sup', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'q', 'center', 'p');


но то о чём я написал не исправляет.
но может тоже кому-нибудь пригодится  ;)

roga_i_kopita

Господа, это Вы обсуждаете, как "повлиять" на ленту от стороннего источника.
А может кто знает, что и как надо сделать, чтобы SMF в транслируемую им во "внешний мир" ленту только текст отдавал, без вложений и цитат?
А то навставляли мои юзеры картинки в посты. Стандартная RSS-лента мне на морду Joomlы их и выдаёт. И шаблон ломает. А если показ текста самих постов отключить, то тоже не интересно. Тогда названия тем, в которых есть ответы повторяются. Из 7 отображаемых тем у меня штуки три-четыре идентичных Re: бла-бла-бла. Не айс.  :( Можно как-то стандартными средствами SMF вывод ленты фильтровать?