(PHP 5 >= 5.2.0, PHP 7, PHP 8)
mb_strstr — 文字列の中で、指定した文字列が最初に現れる位置を見つける
$haystack,$needle,$before_needle = false,$encoding = null
mb_strstr() は、
haystack の中で最初に
needle が現れる場所を探し、
haystack の部分文字列を返します。
needle が見つからなかった場合は
false を返します。
haystack
needle が最初に現れる位置を見つける文字列。
needle
haystack の中で探す文字列。
before_needle
この関数が haystack のどの部分を返すのかを指定します。
true の場合は、haystack の先頭から
needle が最初に現れる位置までを返します (needle を含めません)。
false の場合は、needle が最初に現れる位置から
haystack の最後までを返します (needle を含めます)。
encodingencoding
パラメータには文字エンコーディングを指定します。省略した場合、もしくは null の場合は、
内部文字エンコーディングを使用します。
haystack の部分文字列を返します。
needle が見つからない場合は false を返します。
PHP 8.0.0 以降では、encoding に不正なエンコーディングが渡された場合、
ValueError がスローされます。
これより前のバージョンでは、代わりに E_WARNING が発生していました。
| バージョン | 説明 |
|---|---|
| 8.3.2 |
不正な文字列(エンコーディングエラーを含むもの)および
SJIS-mac (MacJapanese) の文字列に対しては、
before_needle が true のときに返される
haystack の部分が、
他の mbstring 関数と同じ文字インデックスに基づいて決まるようになりました。
|
| 8.0.0 |
needle は、空の文字列も受け入れるようになりました。
|
| 8.0.0 |
encoding は、nullable になりました。
|
| 8.0.0 |
encoding に不正なエンコーディングが渡された場合、
ValueError をスローするようになりました。
これより前のバージョンでは、E_WARNING が発生し、
false を返していました。
|