Использование Smarty для удаления P-тегов из моего HTML - PullRequest
4 голосов
/ 06 марта 2012

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

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

Спасибо

Ответы [ 2 ]

11 голосов
/ 06 марта 2012

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

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

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

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

0 голосов
/ 06 марта 2012

Вы можете сделать это, используя модификатор regex_replace :

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