5

我正在使用此代码去除标签{$entry.entry|strip_tags},但是我只想去除标签<p>不是所有 HTML 标签

有人可以帮忙吗?

谢谢

4

2 回答 2

12

如果您只想去除 <p>标签,请尝试简单的正则表达式替换:

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

这将用空字符串替换<p>,</p>和所有字符串。<p many attributes>

让我知道它是否有效。我在 PHP 中测试了正则表达式,而不是直接在 Smarty 中。

于 2012-03-06T17:03:25.243 回答
0

您可以使用regex_replace修饰符执行此操作:

{$foo = '<p>hello world</p><p some-att="ribute">foo</p>'}
{$foo|regex_replace:'#<\s*/?\s*p(\s[^>]*)?>#i':' '|escape}
于 2012-03-06T17:45:44.073 回答