如何使用 php 从 HTML 中删除 <p> 标签及其内容

新手上路,请多包涵

下面是我需要删除的文本 <p> 标签

<p> Addiction, stress and subjective wellbeing</p>
<p> The need and significance of traditional shop lot pavements in the context of town conservation in Malaysia</p>
<p> The role of wage and benefit in engaging employee commitment</p>

我试过这个

$title= preg_replace('#<p>(.*?)</p>#', '', $title['result']);**

但我仍然在获取 <p> 标签,有什么想法吗?

原文由 spsaravananct 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 298
2 个回答

只是为了删除 p 标签,你可以这样做

$text=str_ireplace('<p>','',$text);
$text=str_ireplace('</p>','',$text);

原文由 Tarun 发布,翻译遵循 CC BY-SA 3.0 许可协议

您必须使用此正则表达式来捕获 <p> 标记及其所有内容:

 '/<p\b[^>]*>(.*?)<\/p>/i'

捕获和删除 <p> 标签及其所有内容的工作示例:

 $title = "<div>Text to keep<p class='classExample'>Text to remove</p></div>";
$result = preg_replace('/<p\b[^>]*>(.*?)<\/p>/i', '', $title);
echo $result;

请在键盘上查看现场演示

如果你想使用正则表达式来解析 HTML - 那么你将无法做到这一点。

在此处详细了解您的问题: How do you parse and process HTML/XML in PHP?

原文由 Ilia 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题