从html中删除第一个标记<p> </p>

时间:2012-03-07 05:55:27

标签: php html

我有1000个HTML文档,我在其中

$contenido="<p>TFJFA<div>whatsapp</div></p><p>second parragraph</p><p>third parragraph </p><p>night</p>";

我需要删除第一个</p>标记;结果必须是:

$contenido="<p>second parragraph</p><p>third parragraph </p><p>night</p>";

我试过使用这个正则表达式,但它不起作用。

$pattern = '/\<p\>.*?\</p\>(.*)/';
$contenido=preg_replace($pattern, '$1'. $contenido);

1 个答案:

答案 0 :(得分:2)

您的模式中包含未转义的/,并且您还使用/作为正则表达式分隔符(即/regex/)。您可以转义内部/(在结束标记中)或使用不同的分隔符:

$pattern = '/<p>.*?<\/p>(.*)/'; 

OR(我更喜欢这个选项,更容易理解 - 我选择'@'作为分隔符):

$pattern = '@<p>.*?</p>(.*)@';

此外,您可以将模式设为$1,替换为@<p>.*?</p>@,并将{1}}作为''参数输入,而不是将其替换为$limitpreg_replace