0

ほとんどの検索エンジンが行うように、トリックを実行したいと考えています。

私がこの文字列を持っているとしましょう:

$str = "Hello Mr. Ben From the UK, nice to meet you";

2 つ以上の単語を検索する正規表現が必要です。この場合の単語はtoBenです。

私はそれを使用してそれを行うことができますpreg_match_all

preg_match_all("#[\w+]*(to|Ben)+\w*#isx", $str,$matches);

正常に動作しますが、一致した単語をそれぞれのフレーズで返す必要があります。たとえば、toという単語は、この形式に一致するnice to meet、つまり周囲の単語でラップされたものを返したい

ベンにも同じことをしたい、

でできるのでexplodepreg_matchloopやったほうがいいと思いますpreg_match_all

PS:もう 1 つ簡単な質問がありsql queryます。データベースからデータをフェッチするときにこの「トリック」を使用できますか?

ありがとうございました。

4

1 に答える 1

0

私はこの正規表現でそれをしました

preg_match_all("#(.){0,15}(to|Ben)+(.){0,15}#isx", $str,$matches, PREG_PATTERN_ORDER , 1);
var_dump($matches);

すべての人に答えを共有する

于 2012-12-18T09:29:13.660 に答える