今日の人気記事

  1. PHPの設定(パスを通す)と動作確認 - Windows10
  2. ホスト名からIPアドレスを取得 - gethostbyname()、gethostbynamel()
  3. ファイル名を変更 - ファイルを移動 - rename()
  4. PHPの設定内容を確認する - phpinfo()
  5. セッションIDの取得・設定 - session_id()

指定した文字列以降の文字列を取得 - 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. 区切り文字列を配列に変換 - explode()
  3. 文字列の長さを取得 - strlen()、mb_strlen()
  4. 文字列を大文字 / 小文字に変換 - strtoupper()、strtolower() - mb_strtoupper()、mb_strtolower()
  5. 指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()
  6. JSON形式の文字列をオブジェクト、連想配列にデコード - json_decode()
  7. 文字をASCIIコードに変換 - ord関数
  8. 文字列を指定した幅に調節 - mb_strimwidth()
  9. 指定した文字列の出現回数をカウント - substr_count()

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