如何删除段落使用PHP

时间:2014-03-19 06:12:51

标签: php

我有这样的段落

<p> 
    <p>This is new content</p>
</p>

我想使用php删除该外部段落标记。

我们如何删除。你能解释一下。

4 个答案:

答案 0 :(得分:1)

按面值,你可以

$content = preg_replace('~<p>\s*<p>(.*?)</p>\s*</p>~s','<p>$1</p>',$content);

这里是一个demo(因为它使用/作为分隔,因此演示有转发的转发)

..但我怀疑你的真实内容比这更复杂......

答案 1 :(得分:0)

您可以使用str_replace函数。这可能不是正确的答案。但它确实有效。

试试这个

 $string = "<p><p>This is new content</p></p>";
 $string = str_replace("<p><p>","<p>",$string);
 $string = str_replace("</p></p>","</p>",$string);

now      $string will have "<p>This is new content</p>"

答案 2 :(得分:0)

你可以试试这个:

$str = preg_replace('!<p>(.*?)</p>!Uis', '$1', $str);

如果您提供更好的背景,我可以提供更好的答案。这将取一对<p></p>标签内的内容并将其返回。如果它们是嵌套的<p>标记,那么它将删除嵌套级别。如果它们没有嵌套,则会删除<p>标记。

答案 3 :(得分:0)

替换角括号之间的空格和换行符,然后用一个标记替换两个段落标记。

$string = preg_replace('/>\s+</', '><', $string); 
$string = str_replace("<p><p>","<p>",$string); 
$string = str_replace("</p></p>","</p>",$string);