PHP: отображение различий между двумя строками - PullRequest
1 голос
/ 16 сентября 2009

Существует ли функциональный класс / функция выделения различий строк для PHP?

Это спрашивалось раньше Выделите разницу между двумя строками в PHP , но приведенные ответы предполагают наличие у PEAR Text_Diff.

Я попытался использовать Text_Diff и обнаружил, что он дает мне кучу СТРОГОЙ УВЕДОМЛЕНИЙ, а приведенные примеры возвращают пустые строки.

Ошибки типа:

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

Ответы [ 3 ]

1 голос
/ 06 октября 2012

Откройте файл /framework/gii/components/Pear/Text/Diff.php. Найдите функцию trimNewlines и добавьте слово static. Примерно так:

static function trimNewlines(&$line, $key)

Это может помочь.

0 голосов
/ 16 сентября 2009

Вы можете связаться с сопровождающим Text_Diff и сообщить об ошибках. 5.3 является относительно новым и вносит кучу изменений, поэтому есть много проектов, которые еще не были обновлены.

0 голосов
/ 16 сентября 2009

Я думаю, это означает, что одна или несколько функций, которые использует пакет PEAR, не обратно совместимы с некоторыми более ранними версиями PHP. Может быть, просто подавить уведомление с помощью error_reporting или (смею сказать) с оператором подавления ошибок '@'.

...