判断两个字串有何变化

转载 2007年09月25日 17:15:00

//windows 下调用 系统 命令 fc
//LINUX 下调用系统命令 diff

 

 

//此函数是针对gb码的

if(! function_exists("TextDiff")):
        function TextDiff($old, $new) {
                $mode = true;
                if(! is_array($old)) {
                        $bodyA = explode("/n", $old);
                        $bodyB = explode("/n", $new);
                        $mode = false;
                }else {
                        $bodyA = $old;
                        $bodyB = $new;
                }

                $result['added'] = array_diff_assoc($bodyA, $bodyB);
                $result['deleted'] = array_diff_assoc($bodyB, $bodyA);
                if($mode)
                        return $result;
                if(count($result['added']) >= count($result['deleted']))
                        $ar = $result['added'];
                else
                        $ar = $result['deleted'];
                $retval = '';
                foreach($ar as $k=>$v) {
                        $added = isset($result['added'][$k]) ? $result['added'][$k] : "";
                        $deleted = isset($result['deleted'][$k]) ? $result['deleted'][$k] : "";
                        preg_match_all("/[/x81-/xfe]?./",$added,$a1);

                        preg_match_all("/[/x81-/xfe]?./",$deleted,$b1);
                        $p = TextDiff($b1[0],$a1[0]);
                        foreach($p['added'] as $key=>$value){
                                $b1[0][$key] = "<font color=lime>$value</font>";
                        }
                        $deleted = join("",$b1[0]);
                        foreach($p['deleted'] as $key=>$value){
                                $a1[0][$key] = "<s><font color=red>$value</font></s>";
                        }
                        $added = join("",$a1[0]);
                        $retval .= "<br/><br/>第".($k+1)."行";
                        $retval .= "<br/>[原文]$added";
                        $retval .= "<br/>[新文]$deleted";
                }
                return $retval;
        }
endif; 

Java 判断两个字符串是否由相同的字符组成

问题:由相同的字符组成是指两个字符串,字母以及各个字母的个数是相同的,只是顺序不同。如:“aaaabbc”与“abcbaaa”是由相同字符组成。 方法一:排序法,也是最容易想到的方法,将两个字符串转换...
  • wutongyu0123wutongyu
  • wutongyu0123wutongyu
  • 2016年06月17日 19:54
  • 6460

判断两个字符串是否由相同字符组成

【题目描述】 如题:写一个算法来判断两个字符串是否为换位字符串。(换位字符串是指组成字符串的字符相同,但位置不同) 【方法一】 假设为ASCII码字符串,那么可以分配两个256大小的in...
  • suibianshen2012
  • suibianshen2012
  • 2016年07月28日 09:43
  • 1450

[算法]判断两个字符串是否由相同的字符组成

如何判断两个字符串是否由相同的字符组成题目描述: 由相同的字符组成是指组成两个字符串的字母以及各个字母的个数是一样的,只是排列顺序不同而已。例如”aaaabbc”与”abcbaaa”就由相同的字符...
  • CodeEmperor
  • CodeEmperor
  • 2016年05月07日 14:57
  • 5288

求两个字符串的最长公共字串。

  • 2010年03月08日 17:49
  • 2KB
  • 下载

找出两个串中的最大相同字串C语言实现

  • 2010年10月26日 19:46
  • 2KB
  • 下载

求两个字符串S和T的一个最长公共字串

/* 编写一个程序,求出两个字符串S和T的一个最长公共字串 利用 矩阵法求解 时间复杂度为 O(n*n) 矩阵法求解原则 把两个字符串 分别设为横坐标 和纵坐标 使...
  • u010056396
  • u010056396
  • 2014年05月20日 16:53
  • 698

OJ 系列之求两个字符串最大的公共字串的长度

求两个字符串最大的公共字串的长度 1、暴力解法#include #include #include /*大写转化成小写*/ void large_to_little(char* strSrc) ...
  • xy010902100449
  • xy010902100449
  • 2015年09月10日 17:13
  • 675

求两个字符串最长公共字串

package com.sort; //求两个字符串最长公共字串, //算法:两个字符串形成一个矩阵,将两个字符不匹配的位置标记为0,c[i][j]中两个字符相匹配的位置标记为n,其中n=...
  • zjcheer_up
  • zjcheer_up
  • 2014年07月21日 15:45
  • 347

由清华大学数学老师所写的一封浪漫情书!它包含了高中的所有数学知识!一个字“绝”!两个字“经典”!四个字“佩服之至”!

我们的心就是一个圆形,因为它的离心率永远是零。我对你的思念就是一个循环小数,一遍一遍,执迷不悟。我们就是抛物线,你是焦点,我是准线,你想我有多深,我念你便有多真。零向量可以有很多方向,却只有一个长度,...
  • guoxiaoqiang88
  • guoxiaoqiang88
  • 2011年01月07日 22:50
  • 523

通过“中文”两个字来深度剖析各种不同的编码方式,彻底理解乱码是如何产生的?

编码:把字符转换成计算机能够识别的01序列。 解码:把01序列转换为人类认知的字符。 不同的编码方式最本质的不同就是各种编码方式都有自己独特的字符和字节的对照表。 Java用unicode编...
  • scyatcs
  • scyatcs
  • 2015年02月27日 15:46
  • 405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:判断两个字串有何变化
举报原因:
原因补充:

(最多只允许输入30个字)