せかいや

いまいるここを、おもしろく http://sekai-in-the-box.appspot.com/

【PHP】preg_match 関数

デリミタは任意に設定できる

preg_match('#a.*c#', 'xabcx',$ma);
var_dump($ma);
array
  0 => string 'abc' (length=3)

 

キャプチャ機能

preg_match('#(a.*c)#', 'xabcx',$ma);
var_dump($ma);
array
  0 => string 'abc' (length=3)
  1 => string 'abc' (length=3)


 

キャプチャに名前をつける

preg_match('#(?P<hoge>a.*c)#', 'xabcx',$ma);
echo $ma['hoge'];

⇒abc


 

キャプチャ名をつけるときは「何に」つけているのか意識

ちょっと混乱したのでメモ。

preg_match('#/(?P<foo>)#', '/hoge',$ma);
echo '[' . $ma['foo'] .']';

⇒[]

preg_match('#/(?P<foo>[^/]+)#', '/hoge',$ma);
echo '[' . $ma['foo'] .']';

⇒[hoge]