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

php surf along html DOM callbacking node plain text contents

场景:

我需要对 HTML 标签内包含的纯文本应用 php 函数,并显示结果,同时保持原始标签(及其原始属性)。

可视化:

拿这个:

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

Return 这个:

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

我该怎么做:

使用 PHP html 解析器(而不是使用正则表达式)并遍历每个标签,将回调应用于节点文本内容。

问题:

例如,如果我在 <p> 标签内有一个 <a> 标签,则父 <p> 标签的文本内容将由两个不同的纯文本部分组成, php 回调应该单独考虑。

问题:

我应该如何干净利落地处理这个问题?

谢谢你的时间,祝一切顺利。

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

为了简单起见[​​=24=]:

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

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

当然欢迎任何 suggestion/comment。

和平。