記事の内容
この記事では、PHPで文字列を検索する方法を説明します。
strpos, mb_strpos, stripos, strrpos, strripos, strstr, stristr, strpbrk, preg_matchについて見ていきます。
PHPのバージョンは、7系です。
strpos
文字列内の部分文字列が最初に現れる場所を見つけてくれる関数です。
戻り値で判定する場合は、必ず「===」を使うようにしましょう。
なぜならば、「==」による緩い比較だと、0がfalseだと判定されてしまうからです。
0番目に目的の文字列が見つかった場合、trueと判定して欲しいはずです。
mb_strpos
文字列内の部分文字列が最初に現れる場所を見つけてくれる関数です。
mb_は、「マルチバイト」の略です。
マルチバイト文字(ひらがな、漢字)などにも対応しています。
strpos関数を拡張したものです。
マルチバイト文字をstrposで検索した場合の結果と合わせて確認して下さい。
stripos
文字列内の部分文字列が最初に現れる場所を見つけてくれる関数です。
strposとは異なり、striposは大文字小文字を区別しません。
strrpos
文字列中に、ある部分文字列が最後に現れる場所を探します。
strripos
大文字小文字を区別せずに、文字列が最後に現れた位置を探します。
strrposと異なり、strriposは大文字小文字を区別しません。
strstr
文字列が最初に現れる場所を含めて、そこから文字列の終わりまでを返します。
stristr
文字列が最初に現れる場所を含めて、そこから文字列の終わりまでを返します。
大文字と小文字を区別しません。
strpbrk
文字列の中から任意の文字を探します。
見つかった文字から始まる文字列、あるいは見つからなかった場合に FALSE を返します。
preg_match
正規表現によるマッチングを行います。