gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 03:15:30 29 4
gpt4 key购买 nike

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

我想得到的结果是看哪些词被去掉了,哪些词被添加了。

为此我使用了 this bit of code如下:

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

效果很好。但是,当我添加一些标签时,例如 <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);

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

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

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

最佳答案

您可以尝试使用以下替代方法之一来替代 htmlDiff 函数:

  1. PHP inline dif产生结果的迷你图书馆like this
  2. Horde_Text_Diff图书馆
  3. xdiff_string_diff来自 xdiff 扩展的函数

关于php - 比较并突出显示php中包含html的两个字符串的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15388597/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com