<?php
$a1='我们点击帖子右上的';
$b1='点出帖子右下的填写分数';$p1=str_replace(' ','|',trim(preg_replace('/(.{1,2})/','\1 ',$a1)));
preg_match_all('/'.$p1.'/',$b1,$m);
echo '相同的字有:'.$yes=trim(implode(' ',$m[0])).'<br>';
$p2=str_replace(' ','|',$yes);
echo '不同的字有:1、'. $p3=preg_replace('/'.$p2.'/','',$a1).'2、'.$p4=preg_replace('/'.$p2.'/','',$b1).'<br>';
$p3=str_replace(' ','|',trim(preg_replace('/(.{1,2})/','\1 ',$p3)));
$p4=str_replace(' ','|',trim(preg_replace('/(.{1,2})/','\1 ',$p4)));
echo '你要结果为:1、'.preg_replace('/('.$p3.')/','<font color=red>\1</font>',$a1).'2、'.preg_replace('/('.$p4.')/','<font color=red>\1</font>',$b1);
?>
$a1='我们点击帖子右上的';
$b1='点出帖子右下的填写分数';$p1=str_replace(' ','|',trim(preg_replace('/(.{1,2})/','\1 ',$a1)));
preg_match_all('/'.$p1.'/',$b1,$m);
echo '相同的字有:'.$yes=trim(implode(' ',$m[0])).'<br>';
$p2=str_replace(' ','|',$yes);
echo '不同的字有:1、'. $p3=preg_replace('/'.$p2.'/','',$a1).'2、'.$p4=preg_replace('/'.$p2.'/','',$b1).'<br>';
$p3=str_replace(' ','|',trim(preg_replace('/(.{1,2})/','\1 ',$p3)));
$p4=str_replace(' ','|',trim(preg_replace('/(.{1,2})/','\1 ',$p4)));
echo '你要结果为:1、'.preg_replace('/('.$p3.')/','<font color=red>\1</font>',$a1).'2、'.preg_replace('/('.$p4.')/','<font color=red>\1</font>',$b1);
?>
解决方案 »
- ajax如何多加一个传递参数?
- 要传输密码到另一个服务器,跨外网的,如何做才安全
- 求助哦。。。。关于PHP+adodb连接oracle问题(比较特殊)
- 关于截取utf8字符串函数的问题
- smarty下include文件的问题
- 一个正则匹配问题,麻烦解答
- register_globals =On 为什么 这个地方改成on了 可是用phpinfo()看 还是register_globals =off
- PHP 开发环境的选择、建立及使用[第一部分][原创]
- █免费国际域名+空间█
- 新手菜鸟学PHP--注册时跳转到的页面全是代码,烦请帮助
- 如果按最后时间进行排序?
- 一个表单中用4个图片做提交,提交后怎么判断是提交的那个动作呢?
LINUX下:diff
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;
非常感谢Meteorlet(www.dictworld.com) 大侠的帮助
同时也感谢作者Jinywu