PHP / JS文本差异
首先,这是这四个问题的完全重复:
> Highlight the difference between two strings in PHP 看来好像这些问题第一次被问及了,而且我想知道现在是一个很好的工具 – 这样一个比较的日子?我已经看了(除了这些问题): > https://github.com/nuxodin/diff_match_patch-php 但是,我所得到的所有的东西现在都没有了,或者似乎有点狡猾,因为它们没有被使用太多(甚至有些甚至暗示他们不是很好的表现),而是PEAR,我担心.我不喜欢为一个小模块安装PEAR,但它似乎像在自己的窗口中投掷一块砖,以便将其安装到这样一个小模块上,与PEAR相比,一般来说,不仅仅是模块已经被取代并置于不同的渠道(dunno为什么?).我会使用PEAR版本,如果它是我唯一的选择,但我想使用最新的软件包. 有没有人知道一个很好的使用,目前维护或内置功能(即使它是PHP扩展)PHP和/或JavaScript(JQuery)的文本差异?
好吧,已经有一段时间了
我其实决定去看看别的人在使用什么,偶然发现Yii(http://www.yiiframework.com)使用什么. 他们实际上使用PEAR模块作为其text_diff,并且在部门通道上使用它的新形式.看来,text_diff现在是一个部落项目,但您可以轻松地将其版本集成到您的应用程序中,这就是Yii默认情况下(它与其版本预捆绑在一起). 所以我搜索了一下,了解他们如何使用它,以及如何进入它,我遇到了: public function actionDiff() { Yii::import('gii.components.TextDiff'); $model=$this->prepare(); if(isset($_GET['id']) && isset($model->files[$_GET['id']])) { $file=$model->files[$_GET['id']]; if(!in_array($file->type,array('php','txt','js','css'))) $diff=false; elseif($file->operation===CCodeFile::OP_OVERWRITE) $diff=TextDiff::compare(file_get_contents($file->path),$file->content); else $diff=''; $this->renderPartial('/common/diff',array( 'file'=>$file,'diff'=>$diff,)); } else throw new CHttpException(404,'Unable to find the code you requested.'); } 在CCodeGenerator为他们的Gii模块(http://www.yiiframework.com/doc/api/1.1/CCodeGenerator/).重要的部分是它们实际挂接在PEAR模块中的位置: $diff=TextDiff::compare(file_get_contents($file->path),$file->content); 通过读取产生差分输出的两个文件的内容. 原来我不想使用PEAR因为膨胀,但是这个模块对于全功能的te??xt_diff来说相当纤薄,所以我决定用这个.不仅如此,在这一刻,它是唯一一个真正为我工作的text_diff模块,所以我保持最好的,即使最好的是相当的记忆饥饿. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |