1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
/* -----------------------------------------------------------
* 正規表現のpreg_replaceの【正規表現パターン操作】例
*
* 作成: 2015.07.28 yoshi of CXMedia Inc.
* ----------------------------------------------------------- */
header("Content-type:text/plain; charset=UTF-8");
// 対象となる文字列
$str = "現在注目の商品は、ABC商会が発売したもので、商品名が「abc-FONTs」です。\r\n";
$str .= "商品の構成は、英文字の「abcdef~xyz」「ABCD~XYZ」及び数字記号「0123~9.,/#$%&<>+*-=^|など」の\r\n";
$str .= "true typeフォントです。\r\n";
$str .= " <NEWS siteのABC商会 2015/7/28>より";
// マルチライン(m)、大小文字区分なし(i)の修飾子で、文字列の置換
echo "■修飾子の例\n",preg_replace('/abc商会/im',"CXM開発会社",$str,-1);
// 後方参照で、日付けを'.'区切りに文字列を変換、数字を'{ }'で繰り返し指定
// 後方参照の左からのグループ化()順で、$1,$2,$3を指定して置換
echo "\n■後方参照の例\n",preg_replace('/(\d{4})\/(\d{1,})\/(\d{1,})/im',"$1.$2.$3",$str,-1);
// パターン利用してunix(\n),mac(\r),windows(\r\n)に対応した改行に続くスペース(\x20)を'\n→'に置換
echo "\n■パターン利用の改行+スペースを置換の例\n",preg_replace('/(?:\n|\r|\r\n)\x20+/im',"\n→",$str,-1);
?>