如何检测并打印str_replace()更改的字符?

时间:2015-04-26 08:17:52

标签: php str-replace

我正在使用此代码互相替换单词。

在我的场景中,同时......只是在#old和$ string中有一个相同的单词 例如$string = "DA"$string = "FJB"为真,但$string = "BA"$string = "DAHJC"为假。

$string = "sdfsdfsdfA"
$old = array("A", "B", "C");
$new   = array("1", "2", "3");
$string = str_replace($old, $new, $string);

如何检测哪些字符被str_replace()替换并打印出来:

Result: 'A' replaced with '1'

2 个答案:

答案 0 :(得分:2)

<?php
$oldString = "sdfsdfsdfA";
$main_array=array("A"=>"1","B"=>"2", "C"=>"3");
$old=array_keys($main_array);
$new=array_values($main_array);

$newString = str_replace($old, $new, $oldString);
foreach ($main_array as $key => $value) {
    if (strpos($oldString,$key) !== false) {
    echo "Result: {$key} replaced with {$value} <br>";
    }
}
echo '<b>'.$oldString.'</b><br>';
echo $newString;
?>

答案 1 :(得分:0)

for($i=0;$i<count($old);$i++){
    echo $old[$i]." replaced by ".$new[$i]."<br/>";
}