php 两段文本对比,不同的文字显示高亮

php 两段文本对比,不同的文字显示高亮【下面这个只能区分错误后面的..】
 
<?php
    $str1 ="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDFUUnBVaHOzlXb
Gn3gA+GGpUOdI9yhzKQ0q2vEFLVA+JD7KN9+pzA2Iyfoc1Ldd9WPe7hhxyc22Egg
4BP/mNPfoEbDbshtRUxgR/RoyF4xtw4wFfES26dv3K3wWoueUg5BHtsMXd9qwRew
83JZutNXGL2Wj581buFlvlHb38COjVG/BdEYBuLVDhzqj7cA//ECUrMtVc756kw/
ppa0OHfvlCqSkaru2EEK6RW+UXkWrBH/W7iQzCgi3H9ddgp0M+JcfBwfdSdILthh
FrTBYWoVGOmrPqFJxPp4SZA7xWozpWypzV9EuOgNDWUVXyq0hJj3HeVZDPan1DxH
G8fwFmoHAgMBAAECggEAbqAHcNxYroCiRAgTQHAMlhe707MSdKgt+9WLwtA1WqrB
Zf7hZrnHXuLQ8hMOB1qzIhGkKzWjt60Eq2HV9HwzdXH/mnxW5GRw0J4m2kRUAx11
V+JFWWRK+H1KC7JICshIc5wgBUvwAYMmjC/BEaub533YdTwqb6OtvQQ6EsLcy05U
EMko7irwEI3AXnrSz9jJmCQWhUr2cxDf0YBWJ1Uu2fc7ZsXc/zGJAIq4qHWLVHYy
rlZ6uyZFFtn2ibuKu8k9ehownpQWVmFl1lHDfBSx9kcfPqHBbZFD5c1A4lsxYYlQ
hv6ElTMdU95r/nw0xt0dWgERazD66HX+C/QYo5sxaQKBgQD9Q3FbeG4lX4xVl71X
IUwLXBKnZaOCBkan5VWoEzrCJUIKWSWIs5md77Yf89ZqOrJFSRaoRoVQCF7wuxPX
l1ZviCnMC/bBgobBFwo2L20140EDwrkYEWzM6llLltTNfGYLng/jW64aY0P0mymT
QK4BdwoLArlU7eI9PTU0mt+CAwKBgQDHcxeX31k14rbCM3CNKB3m08/It46Lz4S3
A/88X1mCmbWTItxCotEqU8vl8i3VdJ51Cd6UuG/aIxg/7TueDz7wufITQpS1HNOW
HgLd8Jb1xIvortigti0fqUGe5QZS+4zefXz7zB2zt5HpLDybGlY+05Pv4Nrhax/x
MCLk9sfarQKBgFpVxAksW51ZB2VASnjZl5Y1sTGkPz4RnwIj+vmIYlz9jSDDy2+H
IDQFXKDpCIG7jfrIpxw+iy6Qzcxv7hPoFxyRJNdzLQC43ffhj/Lj18Bw3q/ItNyw
2m386PzdP+pLhNp/9orSGLew0HxfG+U6HNbI7vwebJyufRP60Q+CblahAoGAGQmO
pacJCOWr8ZcJgv7NOiPOyrCYOV7UlzDuQoLptqZbD9xpcAgGX9zjFLuhG1GnbqPN
iDfa+rQ7IBNEz6O0T/3XsKlEB7RVr1uXGotQOAvzUENauFoGMhpKPYscjyA639c6
8FUASYY6z92YwhO9Tee7g3pjn7aV7O4RA1MjZYUCgYEAm2ZBxOLQ/dv3kEBxhzQy
wuPBEI+D+1K4k2/yhPi1DZgrLM9KrZyhjRJhfQvs8JD/JUz9pqbS7a5BsljhzwNG
GM2iExG98IEG+F1Z6jjALxY2eI2cgw/b4POrzC5C5SOEwP3rc7J6UharT8NLl6Kx
9VMIt+GY3IFh6LvxmPPlPHI=";
    $str2 ="MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCf1OAHfr8wx3D7
XfSHil4V7F4OWTvD1miVsHMOjVzp4y5Mfg1mUVh+ZSG5tSYS5ujAzZTwGxKXY5Es
pLtlsouXcwCtK368t2gs90w3L0t+bgOVArrtZaHKKQoCxD9+CpeMGaI1Qbh4iXVG
rY+w5lqL3kJHgei9Xv3nBSRygcQ9mC7Ptgdq+dajvJSdXShNKLPLWa3gOjHDpKYJ
xheSpAi2htxNAt7szoddQind+rqO/0nZkVUgzrXX7SxbQzrd2jyc8heFu3QlnloA
3Y/n3Cp+sJ0hnMkKT9pUsCifmaQizIVek30NC+B0zjbMxHJcxE3aqDLYuaUqoCmf
0XvYid7RAgMBAAECggEAc1zMIrzKNOQPWW+UWux1Qm+r58FikNTGAh0svrkr8ikm
ttFYzJw0Om62a/sjMwt1vgvkz3VK8vhLxaRVGm9HsBWyzEsTnBTpXWNVoJNDc0rm
zPv+ffEYWPlMH3kUtt3gSqAJ41S/WEkm28/UYgOyIThYMJLEsULKEqA0kW22fhmg
1JOuVa4c6aOKp2OkKQtQZiOG9agL0MizyXoQEhCQywatk2bNt5v25Aa/owe7Jvvt
FxP5YwAYrSMQkrggpIpdM++QE4HIq2QZw9pUjMeEcFtTOSvIeAX2uXxAW+g1PVwG
gBKvOhQW8lkqqrrZUTOgNLW4o9aR3wSBs0bb00k9bQKBgQDL2rU/2QYAFbBKok/M
TJfvTJoJ55B7ZZEHoeOllU1rJFxuRgZD25zoq6ey5anXLpmJuGVAjZRPHHbfIZuN
kVwRnNxUqtZlxe9pfkkGfVwWlR+hhiS/1mkQYmMMGQ/LE4WW+hUMKe8b5I4DEoDZ
F7lJuwBAy7RX46nPvC7xJzlfGwKBgQDIt1vIDiSNkM+gDV1RSGwhwvzlwfQthcq6
W334VDfEsiiQmSOTiXWO9LlUqj8+jX04uo/V9DUEp/3OjhUhjHIJLJlsGKEXofK5
EhUHoHTu90PjDP1AlX4IHb4pbp7A2sDCes5mg4ff/n8SflnwWOIoyZ+HMILM6KFp
n3EU6YncgwKBgGsexDuGyTZmLzsoy5HpdbVTpWYq/qs5FdrS4RLzv7jbZI610Tj7
QBqriPXi5TqjzB6ofNxNCXAA3x4lRN5BUgYXTVhYZU0Zk9L1f14fpbJgLjzshocg
Hhlz+eQzjy8BVSOeykyYBIO9uDo5EOgDJWRvFZT29g9xHJyCoJAsMmOdAoGAHT+K
4lYdQXvOpZYM+SFCkJDnZVukB1YtuoZGjv9GuST1AE0wf/lR5ikHMK02VhksHC4j
c5wIdcs9EvJlZeQfYfLb0IKuRtFUm19lLR1WrNPfUqC77sNaADjFUyhJffTijfRz
S0DzddKSFdHPrVRmcGchFgQdq1pi2w9e3RtC+Z0CgYBsXozk32r7gAc6j41a/KLN
KlkEOdJMMdlmulc0gA1yNZB47NqOf/Otfdpv/aQ2iFSKcB5jMLbZ/cN+XMpKCcvC
3Im9LOJqssp12kjO9Bin62VX4mxEp5JudodvWnolM+4TOj0WikzP1sw0zXZa7UWh
Qwdn72MC+lZHonkiXnkmAw==";
    echo $str1.'<hr />';
    $err=mb_str_cmp($str1,$str2,'utf-8');
    echo $err[0].'<font color="red">'.$err[1].'</font>';
    //字符串比较,返回的第二个字符串的数组,0为相同部分,1为不同
    function mb_str_cmp($str1,$str2,$encode='utf-8'){
          $num=mb_strlen($str2,$encode);
          if(strcmp($str1,$str2)==0)return array($str2,'');
          for($i=0;$i<$num;$i++){
               $word1=mb_substr($str1,$i,1,$encode);
               $word2=mb_substr($str2,$i,1,$encode);
               if($word1!=$word2)break;
          }
        return array(mb_substr($str2,0,$i,$encode),mb_substr($str2,$i,$num,$encode));
    }   
原文地址:https://www.cnblogs.com/c-961900940/p/6197409.html