preg_replace_callback
1290 ワード
例1
// $pattern ,
// callback ,
// $subject
// $limit $subject 。 (-1 )
// $count , 。
// preg_replace_callback(mixed $pattern, callback $callback, mixed $subject[, int $limit = -1 [, int &$count]])
// :
$text = "April fools day is 04/01/2002
Last christmas was 12/24/2001
";
//
function nextYear($matches)
{
// dump($matches);
/*
* array:3 [
* 0 => "04/01/2002"
* 1 => "04/01/"
* 2 => "2002"
* ]
*
* array:3 [
* 0 => "12/24/2001"
* 1 => "12/24/"
* 2 => "2001"
* ]
*
*
*/
// :
// $matches[0]
// $matches[1]
return $matches[1].($matches[2]+1);
}
$count = 0;
// April fools day is 04/01/2003
Last christmas was 12/24/2002
echo preg_replace_callback("|(\d{2}/\d{2}/)(\d{4})|","nextYear",$text, -1, $count);
// 2
var_dump($count);