strstr( string $haystack, mixed $needle[, bool $before_needle] )
は、検索対象文字列「$haystack」の中から、検索文字列「$needle」を探し、その検索文字列「$needle」が最初に見付かった位置から、検索対象文字列「$haystack」の終わりまでの、部分文字列を得る組み込み関数。
検索対象文字列「$haystack」の先頭から、検索文字列「$needle」が最初に見付かった位置のひとつ前までの、部分文字列を得ることもできる。
検索文字列が見付からなかった場合、「FALSE」を返す。
stristrと似ているが、strstr
は、大文字小文字を区別する。
定義
「文字列型 $haystack」の文字列の中から、「多様な型 $needle」の文字列を探し、その文字列が最初に見付かった位置から、「文字列型 $haystack」の文字列の終わりまでの、部分文字列を得る。
「論理型 $before_needle」に「TRUE」を指定すると、「文字列型 $haystack」の文字列の先頭から、「多様な型 $needle」が最初に見付かった位置のひとつ前までの、部分文字列を得る。
パラメータ
- 文字列型 $haystack
検索対象文字列を指定する。
- 多様な型 $needle
検索したい文字列を指定する。
大文字小文字を区別する。
- 論理型 $before_needle
「TRUE」を指定すると、「文字列型 $haystack」の先頭から、「多様な型 $needle」が最初に見付かった位置のひとつ前までの、部分文字列を得る。
「PHP 5.3.0」で追加されたパラメータ。
戻り値
「文字列型 $haystack」の文字列の中から、「多様な型 $needle」の文字列を探し、その文字列が最初に見付かった位置から、「文字列型 $haystack」の終わりまでの、部分文字列を返す。
「論理型 $before_needle」に「TRUE」を指定すると、「文字列型 $haystack」の先頭から、「多様な型 $needle」が最初に見付かった位置のひとつ前までの、部分文字列を返す。
見付からなかった場合は、「FALSE」を返す。
構文
検索文字列から最後までの部分文字列を得る
「検索対象文字列」から「検索文字列」を探し、その「検索文字列」が最初に見付かった位置から、「検索対象文字列」の終わりまでの、「部分文字列」を得る。
先頭から検索文字列の前までの部分文字列を得る
「検索対象文字列」から「検索文字列」を探し、「検索対象文字列」の先頭から、「検索文字列」が最初に見付かった位置の前までの、「部分文字列」を得る。
サンプル
部分文字列を得る(1)
$var = "a:b:c";
echo strstr( $var, ":" );
?>
↓↓↓出力結果↓↓↓
部分文字列を得る(2)
$var = "PHPリファレンス > 組み込み関数 > 文字列 > strstr()";
echo substr( strstr( $var, ">" ), 2 );
?>
↓↓↓出力結果↓↓↓
部分文字列を得る(3)
$var = "webmaster@hoge.tld";
echo substr( strstr( $var, "@" ), 1 ) . "<br />";
echo strstr( $var, "@", true );
?>
↓↓↓出力結果↓↓↓
webmaster