PHPのpreg_matchについての質問です。


文字列$strに対して、文字列$keyでパターンマッチングをしようと、
下のようなコードを書きました。

$keyには任意の文字列が入ってくるので、とりあえずエスケープ処理を入れましたが、
もっとスマートな方法はないでしょうか。

今のままだと、すべてのメタ文字に対してエスケープが必要なのかと懸念しております。



//エスケープ処理
$key = preg_replace("/\//", "\/", $key);
$key = preg_replace("/\(/", "\(", $key);
$key = preg_replace("/\)/", "\)", $key);

//マッチング
print preg_match("/".$key."/", $str);

回答の条件
  • 1人2回まで
  • 登録:2008/09/04 23:38:15
  • 終了:2008/09/04 23:52:16

ベストアンサー

id:tezcello No.1

tezcello回答回数459ベストアンサー獲得回数692008/09/04 23:43:54

ポイント60pt

preg_quote() というのがあります。

http://www.php.net/manual/ja/function.preg-quote.php

id:webuser

早速ありがとうございます。

便利なものがあるのですね。

この関数を使わせていただきます。

2008/09/04 23:51:55

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • パター情報最前線。 ゴルフの上達するあっと驚く情報提供館 2008-09-07 23:34:06
    ●PHPのpreg_matchについての質問です。 文字列$strに対.. PHPのpreg_matchについての質問です。 文字列$strに対して、文字列$keyでパターンマッチングをしようと、 下のようなコードを書きました。
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません