現在の位置: ホーム> 最新記事一覧> STRPOS機能がケースに敏感なマッチングを処理する方法

STRPOS機能がケースに敏感なマッチングを処理する方法

gitbox 2025-05-28

strpos()はケースに敏感です

答えは次のとおりです。これは、strpos()が文字列を比較するときに文字のケースの違いに厳密に一致することを意味します。

簡単な例を見てみましょう:

<Code> $ HayStack = "Hello World!"; $ edele = "world";

$ position = strpos($ haystack、$ edele);

if($ position === false){
エコー「文字列は見つかりません。」;
} それ以外 {
エコー「文字列位置は:」です。 $ position;
}
</code>

出力の結果は「文字列が見つかりません」です。なぜ?なぜなら、「世界」は小文字であり、干し草の山「世界」は大文字であるからです。ケースに敏感な比較では、2つの文字列は同一とは見なされません。


ケースに依存しないマッチングを行う方法は?

ケースに依存しない検索を行いたい場合、PHPは別の関数を提供します: spripos()Strpos()と同じように機能しますが、ケース非感受性です。

例:

<Code> $ HayStack = "Hello World!"; $ edele = "world";

$ position = spripos($ haystack、$ edele);

if($ position === false){
エコー「文字列は見つかりません。」;
} それ以外 {
エコー「文字列位置は:」です。 $ position;
}
</code>

今回は出力が次のとおりです。

 文字列位置はです: 6

これは、「世界」 (上限と小文字に関係なく)が、文字列の6番目の文字(0からカウント)から始まることを意味します。


実際のシナリオ:URLチェック

URLにドメイン名gitbox.netが含まれているかどうかを確認するとします。 StripOS()を使用して、ケースに依存しないマッチングを実現できます(一部のユーザーは完全または混合ケースを使用する可能性があるため)。

<Code> $ url = "https://www.gitbox.net/page/123";

if(spripos($ url、 "gitbox.net")!== false){
echo "urlにはgitbox.net"が含まれています。
} それ以外 {
echo "urlにはgitbox.net"が含まれていません」;
}
</code>

gitbox.netが完全に資本化されていても、プログラムはそれを正しく認識します。