Как навсегда удалить html-теги из шаблона django (фильтра)? - PullRequest
0 голосов
/ 01 августа 2011

Я пытаюсь использовать "striptags" и "removetags:", но не совсем работаю. Текст выглядит примерно так:

bla, bla, bla <p style="margin-top: 10px; margin-right: 0px; ....

Если я использую стрип-теги или теги-удаления с усеченными словами, шаблон полностью ломается.

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Вы должны сначала очистить строку, а затем использовать усеченные слова. Вы можете использовать регулярное выражение для очистки тегов, если strip_tags не работает должным образом.

import re
string = "<a href=''>abc</a>"
string = re.sub("<\!?\\\\?\/?\w+[^>]*>", "", string)

Это регулярное выражение очистит все теги открытия, закрытия и комментариевтеги.это простое решение, вы можете сделать регулярное выражение строгим.вместо \ w + вы можете использовать (?: td | span | div ... и т. д.), чтобы указать, какие теги вы хотите очистить.

1 голос
/ 01 августа 2011

Либо удалите теги перед усечением текста, либо используйте HTML-осведомленный truncatewords_html. Вы работаете с поврежденными данными, если вы этого не сделаете.

...