今日の人気記事

まだデータがありません。

指定した文字列以降の文字列を取得 - 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. 文字列の長さを取得 - strlen()、mb_strlen()
  2. バイナリデータを16進数に変換 - bin2hex()
  3. ASCIIコードを特定の文字に変換 - chr()
  4. 文字列の最初の文字を大文字 / 小文字に変換 - ucfirst()、lcfirst()

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