[PHP]preg_matchで正規表現に変数を使う場合のエラー回避方法

スポンサーリンク

正規表現で合致するものを探すのに便利なpreg_match関数。

これの検索パターンに変数や配列を使うと、ますます便利なんだけど、結構エラー出てするんだよね(´;ェ;`)

ちなみに、よくやる間違いとして、以下は割と有名(?)っぽい。

 

これだと、デリミタがないので正規表現とみなされないんだと。

 

なので、うちもそれは気を付けてコード書いてみたんだけど、結局以下のようなコードで以下のエラーが出た!

▼コード

▼エラー
Warning: preg_match(): Unknown modifier 'r' in ~

 

よくわ分かんなかったけど色々調べてみると、これ、どうやら検索対象がURLだった事で、バックスラッシュとデリミタとが喧嘩したのが原因みたい。

なので、以下のようにデリミタを波括弧({})にしたところ解決した。

▼コード

コメント