preg_replaceと同じ理屈でpreg_replace_callbackを配列指定できると信じ込んで凄くハマったのでメモメモ。
複数の正規表現を一気にかける場合、配列で指定しちゃうと楽チン。
$preg = array( '/正規表現/si' => '$1:$2', '/正規表現/si' => '$1=$2' ); $message = preg_replace(array_keys($preg), array_values($preg), $message);
上と同じ理屈でpreg_replace_callbackも配列が可能と信じ込んでいた。
ダメダメな例
$preg = array( '/正規表現/si' => 'callback1', '/正規表現/si' => 'callback2' ); $message = preg_replace_callback(array_keys($preg), array_values($preg), $message); function callback1($matches){ return $matches[1].':'.$matches[2]; } function callback2($matches) { return $matches[1].'='.$matches[2]; }
どうやらこれはダメっぽい。。。