0

次のスニペットでは

barがfooに置き換わらないのはなぜですか?

$subject = "Hello foo";

preg_replace_callback(
    '/\bfoo\b/i',

    function ($match)
    {
        return 'bar';
    },

    $subject
 );

 echo $subject;
4

1 に答える 1

3

preg_replace_callback変更はしません$subjectが、新しい文字列を返します:

次のコードが機能するはずです。

$subject = "Hello foo";

echo preg_replace_callback(
    '/\bfoo\b/i',

    function ($match)
    {
        return 'bar';
    },

    $subject
 );
于 2013-02-03T00:54:00.357 に答える