Home > PHP >


preg_replaceの抽出部分を処理して置換

  • 2010年4月8日 (木) 20時55分
  • カテゴリ : PHP
こうすると抽出部分をコードの一部として処理した結果で置換できるんだネー。
eオプションを使うところがポイントだネー。
第2引数は文字列なんだけどPHPコードとして処理されるんだネー。
関数に渡すこともできるし、便利だネー。
エライネー。
$nums = '1 2 3 4 100';
$nums = preg_replace('/([0-9]+)/e', 'pow($1, 2)', $nums);
echo $nums;  // 1 4 9 16 10000


$str = 'Gomenkudasaimase';
$str = preg_replace('/([kstnhmrgzbp][auo])/ie', 'change_youon("$1")', $str);
echo $str;  // Gyomenkyudasyaimyase

function change_youon($s) {
  return $s[0].'y'.$s[1];
}

コメント : 0件

コメント投稿

トラックバック : 0件

このページへのトラックバックURL
http://www.sweetwarp.com/75.html/trackback

Home > PHP >

購読用フィード