Использование Smarty для удаления тегов P из моего HTML

Я использую этот код {$entry.entry|strip_tags} для удаления тегов, однако я просто хочу удалить <p> теги, а не все HTML-теги.

Кто-нибудь может помочь?

Спасибо


person michaelmcgurk    schedule 06.03.2012    source источник


Ответы (2)


Если вы хотите удалить теги ТОЛЬКО <p>, попробуйте простую замену регулярного выражения:

{$entry.entry|regex_replace:"/(<p>|<p [^>]*>|<\\/p>)/":""}

Это заменит <p>, </p> и все строки <p many attributes> пустой строкой.

Дайте мне знать, если это работает. Я тестировал регулярное выражение в PHP, а не непосредственно в Smarty.

person lorenzo-s    schedule 06.03.2012

Это можно сделать с помощью модификатора regex_replace:

{$foo = '<p>hello world</p><p some-att="ribute">foo</p>'}
{$foo|regex_replace:'#<\s*/?\s*p(\s[^>]*)?>#i':' '|escape}
person rodneyrehm    schedule 06.03.2012