1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
/* ---------------------------------------
 *  正規表現のpreg_replace_callbackの例
 *    日付の内容を指定した年に置換する
 *
 *  作成: 2015.07.23 yoshi of CXMedia Inc.
 * --------------------------------------- */
header("Content-type: text/plain; charset=UTF-8");

// 2005年に使われていたテキストを、2015年対応の日付に変更
$text "エイプリルフールの日付は 04/01/2005 です\n";  
$text.= "この前のクリスマスの日付は 12/24/2004 でした\n";
echo 
preg_replace_callback("|(\d{1,}/\d{1,}/)(\d{4})|","next_year",$text),"\n";

// コールバック関数
function next_year($matches){
  
// 通常は、$matches[0] がマッチした全体を表します。
  // $matches[1]以降 は、マッチした中で、パターン内の最初の '(...)'にあてはまる部分を表します。
  
return $matches[1].($matches[2]+10);
}
?>