PHP入門 文字列関数 部分文字列を取得する(mb_strstr関数)

文字位置で部分文字列を特定するmb_substr関数に対して、特定の文字列がみつかった場所を基点に部分文字列を取得するならば、mb_strstr関数を利用します。

構文:mb_strstr関数

mb_strstr(string $haystack, string $needle 
               [, bool $before_needle = false [,?string $encoding]]):string|false
$haystack対象の文字列
$needle検索する文字列
$before_needletrueで検索文字列の前方を取得、falseで後方を取得
$encoding使用する文字エンコーディング(省略時はdefault_charsetパラメータの値)

<?php 
  $str = 'Python入門プロジェクト';
  print mb_strstr($str, 'y',true).'<br>';     //結果:P ➊
  print mb_strstr($str, 'o').'<br>';          //結果:on入門プロジェクト
  print mb_strstr($str, 'w',false).'<br>';    //結果:表示されない ➋

引数$before_needleがtrueの場合、検索文字列($needle)が見つかった場所から前方の文字を取り出します。引数$needleが見つからなかった場合、mb_strstr関数はfalseを返します(❷)