指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、文字列から指定した文字列を検索し、その文字列以降の文字列を取得する関数 strstr()、strchr()とマルチバイト版のmb_strstr()を紹介します。
strstr関数、strchr関数
string strstr ( string $haystack , mixed $needle [, bool $before_needle ] )
文字列から指定した文字列を検索し、指定した文字列以降の文字列を取得します。
strchr関数は、strstr関数のエイリアスです。文字列がマルチバイト文字を含む場合は、後述のmb_strstr関数を利用します。
引数 $haystack 検索対象の文字列を指定します。 $needle 検索する文字列を指定します。 $before_needle trueを指定した場合、指定した文字列より前の文字列を取得します。 指定しない場合(false)、指定した文字列以降の文字列を取得します。
返り値
指定した文字列以降(あるいは、より前)の文字列を返します。
文字列が見つからない場合は、falseを返します。
mb_strstr関数
string mb_strstr ( string $haystack , string $needle [, bool $before_needle = [, string $encoding ]] )
文字列から指定した文字列を検索し、指定した文字列以降の文字列を取得します。
マルチバイト文字を含む文字列も利用できます。
引数 $haystack 検索対象の文字列を指定します。 $needle 検索する文字列を指定します。 $before_needle trueを指定した場合、指定した文字列より前の文字列を取得します。 指定しない場合(false)、指定した文字列以降の文字列を取得します。 $encoding エンコーディングを指定します。
返り値
指定した文字列以降(あるいは、より前)の文字列を返します。
文字列が見つからない場合は、falseを返します。
サンプルコード
指定した検索対象の文字列から指定した文字列以降の文字列を取得するサンプルコードです。
strstr( 検索対象の文字列, 検索する文字列, [, true] ) mb_strstr( 検索対象の文字列, 検索する文字列, [, true] )
<?php /* 文字列を定義 */ $string = "google.co.jp"; /* 指定した文字列を検索 */ var_dump( strstr($string, '.co') ); var_dump( strstr($string, '.co', true) ); /* マルチバイト文字を含む文字列を定義 */ $string = "PHP入門"; /* 指定した文字列(マルチバイト)を検索 */ var_dump( mb_strstr($string, '入') ); var_dump( mb_strstr($string, '入', true) ); ?>
実行結果です。
検索対象の文字列から指定した文字列以降(あるいは、より前)の文字列を返します。
string(6) ".co.jp" string(6) "google" string(6) "入門" string(3) "PHP"