3

テキスト内の特定の単語セットの最初の出現を見つけるために、正規表現マッチングを実行しています。他の単語の部分文字列である場合に誤検知を生成したくないため、パターンを使用したいと考えています。

たとえば、「DOM 」という単語全体を検索したいのですが、「 RANDOMIZER 」の部分文字列 DOM は検索したくないとします。したがって、パターンを「\bDOM\b」として使用して、いずれかの側に単語境界がある DOM のすべての出現を考慮しています。しかし、DOM、およびその他のそのようなパターン文字列は、配列 $tags から来ています。各タグを $tags から $tag に読み込むと、比較は実際には次のようになります。

preg_match("/\b$tag\b/", ...)

しかし、これは $tag = " .NET " の場合に問題になります。次に、「\b$tag\b」はCNETINETなどの文字列の照合を開始し、解釈します。ワイルドカード文字として。では、パターンを形成するために使用されている変数内の文字の特別な意味をどのようにエスケープするのでしょうか?

4

1 に答える 1