从标签内删除未知数量的标签

时间:2016-07-28 14:11:35

标签: php regex

我有这些字符串:

$st = '<p><br/></p>';
$st = '<p><br/><br/></p>';
$st = '<p><br/><br/><br/></p>';

如何从P标签内删除所有换行符? 我尝试了这个,但没有工作:

echo preg_replace('/p>(br\/>)*?<\/p/','p></p',$st);

对不起,我觉得我需要解释一下。更多。这将在更大的文本中,我不想删除所有换行符。只有那些出现未知数量的P标签内的那些。

2 个答案:

答案 0 :(得分:2)

将您的REGEX更改为:

preg_replace('#p\>(\<br\/\>)*?\<\/p#','p></p',$st)

答案 1 :(得分:0)

有一些非RegEx替代品,

使用str_replace;

echo str_replace("<br/>","",$st );

使用strip_tags;

echo strip_tags($st,"<p>");