8

「Mures」と「Maramures」の2本の弦を持っています。誰かがMuresを検索したときに、「Muras」という単語を含む投稿ではなく、「Mures」という単語を含む投稿のみを返す検索機能を構築するにはどうすればよいですか。今までstrstrを試してみましたが、今はうまくいきます。

4

7 に答える 7

20

\b正規表現でこれを行うことができ、単語を単語境界で囲みます

preg_match("~\bMures\b~",$string)

例:

$string = 'Maramures';
if ( preg_match("~\bMures\b~",$string) )
  echo "matched";
else
  echo "no match";
于 2013-04-29T16:41:24.920 に答える
6

preg_match 関数を使用する

if (preg_match("/\bMures\b/i", $string)) {
    echo "OK.";
} else {
    echo "KO.";
}
于 2013-04-29T16:42:26.013 に答える
1

strstr の結果を確認するにはどうすればよいですか? ここでこれを試してください:

$string = 'Maramures';
$search = 'Mures';
$contains = strstr(strtolower($string), strtolower($search)) !== false;
于 2013-04-29T16:41:16.750 に答える
0
function containsString($needle, $tag_array){
    foreach($tag_array as $tag){
        if(strpos($tag,$needle) !== False){
            echo $tag . " contains the string " . $needle . "<br />";
        } else {        
            echo $tag . " does not contain the string " . $needle;
        }

    }
}
$tag_array = ['Mures','Maramures'];
$needle    = 'Mures';
containsString($needle, $tag_array);

このような関数は機能します... それほどセクシーではないかもしれませんpreg_match.

于 2013-04-29T16:51:06.407 に答える
0

さまざまなことができます:

  • 「 Mures 」を検索 (前後にスペース)
  • 大文字と小文字を区別して検索します (したがって、「mures」は「Maramures」に含まれますが、「Mures」は見つかりません)
  • 正規表現を使用して文字列を検索します (「単語境界 + ムレス + 単語境界」) -- これも見てください: Php find string with regex
于 2013-04-29T16:43:09.827 に答える