Чтобы конвертировать обычный тизерный rss в полнотекстовый, я выбрал бесплатный сервис yahoo pipes. В нем есть возможность чистить содержание item.description с помощью regex-правил. Перечислю некоторые из них, которые реально работали (может быть, они и не совершенны, но зато работают).
1. вытащить из тега ссылки только содержание атрибута href, нужно для item.link
(.*)href=\»(.*?)\»(.*) заменить на $2
2. вытащить содержимое внутри тега A
(.*)\>(.*?)</a> заменить на $2, нужно для item.title
3. Удалить содержимое (текстовое, для тегов не действует) внутри конкретного тега вместе с тегом
<p.*?>(.*?)</p>
4. Удалить конкретный тег
<p.*?>
5. Удалить содержимое внутри тега конкретного класса вместе с тегом
<p[^>]*>(.*?)</p>
6. Удалить тег img
<img.*?/>
7. Удалить атрибут из тега
<p> заменить на <p>
8. Заменить непечатный символ печатным
[\x92] на ’ (апостроф)
9. Замена тегов одного типа на теги другого типа
<h2>(.*?)</h2> на <p>$1</p>
10. Очистить тег от атрибутов
<div [^>]*> на <div>
11. Убрать перевод строки
[\n]
12. Убрать пробел
[\s]
13. Убить все атрибуты в рисунке, кроме ссылки и назначить класс
<img.*? src=»(.*?)».*?> на <img src=»$1″>
14. Удалить вопросительный знак из ссылки
[\\?]
15. превратить 19.10.11 2011.10.19
(\d+)\.(\d+)\.(\d+) в 20$3.$2.$1
16.удалить все в круглых скобках вместе со скобками
\(([^)]*)\)
Добавить комментарий