preg_replace_callback

1290 ワード

  • 具体的な使い方はphpマニュアル
  • を参照
    例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);