2011年9月27日火曜日

PHP正規表現:2つのキーワードに挟まれた文字列の抽出

また正規表現でワタワタしたのでメモ

PHPで2つのキーワードに挟まれた任意の文字列を抽出する方法

preg_match('|キーワド1(.+?)キーワド2|su',$source,$match);

preg_match([検索するパターン],[検索する文字列],[結果を格納する配列])

(.+?) .が改行以外の任意の文字、+がその文字が1回以上繰り返し、?はいまいちよくわからないけど入れたら動いたという。ほんと良くわからないまま使っていいのだろうかとは思う。

su sはシングルラインモードといって複数行の文字列でも改行無視して検索するものらしいけど2行にまたがっているキーワードは認識されませんでした。良くわかりません。uはマルチバイト文字用

良くわからんまま動くから使っているけど、良くわからんままだと予想外の動きをするかもしれないわけで、目視で点検できる用途ならいいのですけどそうじゃないと迂闊に使えませんね。正規表現はいつか時間をとってちゃんと勉強したいなと思います。

0 件のコメント:

コメントを投稿