douyin2962 2015-06-20 12:02
浏览 119
已采纳

如何检测str_replace()是否已更换? 多少钱?

I have two string, something like this:

$str1='this is the first text';
$str2='this is the second text';

Now I use str_replace(); to replace the word of 'first' in the str1 and str2.

For str1: The subject will be found and then will be replaced

str_replace('first','matched',$str1);
// output: this is the matched text

For str2: The subject will not found and str2 does not change.

str_replace('first','matched',$str2);
// output: this is the second text

Now I want to echo:

  • 'matched has been find' for str1

  • 'matched has not been find' for str2.

And also I want to know that is it possible to count the number of matched found? e.g. for str1 is 1.

  • 写回答

1条回答 默认 最新

  • douhuai2015 2015-06-20 12:04
    关注

    There is a fourth count argument to str_replace() that counts the total number of replacements actually made to the string

    What it won't do is tell you how many of each replacement if you're doing multiple replacements (using arrays), but it does give you the overall count

    EDIT

    $str1 = 'this is the first text';
    $result1 = str_replace('first','matched',$str1, $counter);
    echo $counter, ' replacements were made', PHP_EOL;
    
    $result2 = str_replace('is','**',$str1, $counter);
    echo $counter, ' replacements were made', PHP_EOL;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?