【问题标题】:PHP: Showing Differences Between Two StringsPHP:显示两个字符串之间的差异
【发布时间】:2010-11-28 16:16:33
【问题描述】:

是否有适用于 PHP 的功能性字符串差异突出显示类/函数?

Highlight the difference between two strings in PHP 之前已经提出过这个问题,但给出的答案暗示了 PEAR 的 Text_Diff。

我尝试使用 Text_Diff,发现它给了我一堆 STRICT NOTICES 并且给出的示例返回了空字符串。

类似的错误:

array_walk() expects parameter 2 to be a valid callback, non-static method Text_Diff::trimNewlines() should not be called statically

【问题讨论】:

    标签: php string highlighting


    【解决方案1】:

    打开“/framework/gii/components/Pear/Text/Diff.php”文件。找到函数trimNewlines并添加一个单词static。像这样的:

    static function trimNewlines(&$line, $key)
    

    这可能会有所帮助。

    【讨论】:

      【解决方案2】:

      我认为这意味着 PEAR 包使用的一个或多个函数不能向后兼容一些早期版本的 PHP。也许只是使用error_reporting 或(我敢说)使用error suppression operator '@' 来抑制通知。

      【讨论】:

      • 我使用的是 PHP 5.3,错误是这样的:“array_walk() 期望参数 2 是一个有效的回调,非静态方法 Text_Diff::trimNewlines() 不应该被静态调用"
      【解决方案3】:

      您可以联系Text_Diff 的维护者并报告错误。 5.3比较新,引入了很多变化,所以还有很多项目还没有升级。

      【讨论】:

      • 大多数项目甚至都没有针对 PHP5 进行更新,更不用说 5.3 了 :(
      猜你喜欢
      • 2022-12-07
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多