正規表現で一致した部分を抜き出す
phpで正規表現がからんだ処理でちょっとハマリました。
ある文字列が、例えば「 where like ‘%こんにちわ%’」が来て、シングルクゥオーテーションを含んで囲まれた部分を取り出す(この場合は’%こんにちわ%’)時、文字列置換のpreg_replaceではなく、文字列検索のpreg_matchで書くことに気づくまで、結構時間がかかりました。
結論から言うと
preg_match( "/'%.*%/", $hoge, $matches, PREG_OFFSET_CAPTURE);
と書けば、
$matches[0][0]にヒットした部分が格納されています。
トラックバック URL :
コメント (0)