使用 preg_replace 按 id 删除 div

Remove a div by id with preg_replace

你好,我有一个 html 字符串输出

$incoming_data = '<div id=\"title\">a title</div>';

我想用 preg_replace

删除它

我尝试了下面的代码但没有任何运气..

result = preg_replace('#<div id="title">(.*?)</div>#', ' ', $incoming_data);

有什么想法吗?

变量 $incoming_data 包含转义引号,因此您必须 escape the backslash for the php regex pattern to match it.

那么您更新后的代码将是:

$incoming_data = '<div id=\"title\">a title</div>';
$result = preg_replace('#<div id=\\"title\\">(.*?)</div>#', ' ', $incoming_data);

如果您首先要从字符串中去除斜线,您可以使用 stripslashes 函数。

那么您更新后的代码将是:

$incoming_data = stripslashes('<div id=\"title\">a title</div>');
$result = preg_replace('#<div id="title">(.*?)</div>#', ' ', $incoming_data);

对于 dom 遍历你可以使用 DOMDocument class.