小编mat*_*asb的帖子

比较并突出显示php中包含html的两个字符串的差异

我正在尝试比较 PHP 中都包含 HTML 的两个字符串。(它们都通过所见即所得编辑器放入数据库中)。

我想要得到的结果是看看哪些单词被删除了,哪些单词被添加了。

为此,我使用了如下代码:

$old = "<p>Lorem ipsum is standard dummy text</p>";
$new = "<p>Lorem ipsum was standard dummy jibbrish</p>";
echo htmlDiff($old, $new);
Run Code Online (Sandbox Code Playgroud)

效果非常好。然而,当我添加一些标签(例如 )时<li>,乐趣就结束了。

例如,如果我有以下内容:

$old = "<p>Lorem ipsum is standard dummy text. <ul><li>Lorem</li><li>Ipsum</li><li>Dolor</li></ul></p>";

$new = "<p>Lorem ipsum was standard dummy jibbrish. <ul><li>Lorem</li><li>Dolor</li></ul></p>";

echo htmlDiff($old, $new);
Run Code Online (Sandbox Code Playgroud)

标签<del>在第一个列表项之后正确添加,但删除的列表项被放置在标签之外<del>,使其看起来没有被删除。

我可以通过删除所有标签来解决这个问题,但我想保留两个字符串的布局。

非常感谢任何帮助或建议。

php highlighting string-comparison

3
推荐指数
1
解决办法
4891
查看次数

标签 统计

highlighting ×1

php ×1

string-comparison ×1