我想在 PHP 中突出显示 2 个字符串单词之间的顺序不同,假设我有 2 个字符串,如下所示。
$string1 = "TO THE ORDER OF United Bank Limited Arab -09254 DT:17-06-20212 ADS";
$string2 = "Arab TO THE ORDER OF United Bank Limited Arab TO -092541 KDS DT:17-06-20212";
突出显示的单词应该是Arab
To
-092541
and KDS
。到目前为止,我已经尝试了下面的代码。
<?php
function compare_strings($array1, $array2) {
$array1 = explode(" ", $array1);
$array2 = explode(" ", $array2);
$arSize1=count($array1);
$arSize2=count($array2);
$index=0;
if($arSize1<$arSize2){
for($i=0;$i<$arSize1;$i++){
if($array1[$i]==$array2[($i+$index)]){
echo ' '.$array1[$i];
}
else{
echo ' <b>'.$array2[($i+$index)].'</b>';
$index++;
$i--;
}
}
}
}
$string1 = "TO THE ORDER OF United Bank Limited Arab -09254 DT:17-06-20212 ADS";
$string2 = "Arab TO THE ORDER OF United Bank Limited Arab TO -092541 KDS DT:17-06-20212";
echo $string1.'<br/>';
compare_strings($string1,$string2);
?>
如果我只添加单词,则此代码可以正常工作,例如Arab
To
并且KDS
不更改现有单词-092541
。当我更改-09254
为-092541
它时,它会启动一个无限循环并显示Undefined array key
错误。
预期的突出显示的单词是Arab
TO
-092541
KDS
我尝试了以下答案/库,但这些都不适用于我的情况。
@Arif 对类似问题的回答
Side-by-side
class.Diff.php
任何帮助/指导将不胜感激。