php浏览html DOM回调节点纯文本内容

时间:2016-01-15 11:51:32

标签: php html nested

方案

我需要将php函数应用于HTML标记内包含的纯文本,并显示结果,保留原始标记(及其原始属性)。

可视化

拿这个:

mysqli_

返回:

<p>Some text here pointing to the <a href="#">moon</a> and that's it</p>

我应该做什么

使用PHP html解析器(而不是使用regexp)并迭代每个标记,将回调应用于节点文本内容。

问题

例如,如果我在<p> phpFunction('Some text here pointing to the ') <a href="#">phpFunction('moon')</a> phpFunction(' and that\'s it') </p> 标记内有<a>标记,则父<p>标记的文本内容将由两个不同的纯文本部分组成,其中php回调应该考虑分开。

问题

我应该如何以干净顺畅的方式处理这个问题?

感谢您的时间,一切顺利。

1 个答案:

答案 0 :(得分:0)

最后,我决定使用正则表达式而不是包含外部库。

为简单起见

$expectedOutput = preg_replace_callback(
'/>(.*)</U',
function ($withstuff) {
return '>'.doStuff($withStuff).' <';
},
$fromInput
);

这将查找><之间的所有内容,这确实是我所寻找的内容。

当然,任何建议/评论仍然是受欢迎的。

和平。