Използване на 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