今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 簡単なPHPスクリプトを動かしてみよう
  3. ファイルから1行ずつ読み込む - fgets()
  4. ユニークなファイル名の一時ファイルを作成 - tempnam()
  5. ヒアドキュメント

指定した文字列以降の文字列を取得 - 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"

文字列 の人気記事

  1. 配列を文字列に変換する - implode()
  2. 文字列の長さを取得 - strlen()、mb_strlen()
  3. 区切り文字列を配列に変換 - explode()
  4. 文字列を指定した幅に調節 - mb_strimwidth()
  5. 指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()
  6. 文字列をエスケープ・アンエスケープ - addslashes()、stripslashes()
  7. JSON形式の文字列をオブジェクト、連想配列にデコード - json_decode()
  8. 文字をASCIIコードに変換 - ord関数
  9. ASCIIコードを特定の文字に変換 - chr()
  10. 文字列の一部分を取得 - substr()、mb_substr()

関連記事(一部広告含む)