【PHP】文字列から指定文字までを抽出する
▼文字列から指定の文字列までを抽出する方法です。
これは、”。”を指定文字にしています。
<?php
//文字列
$mes = “あいうえお。かきくけこ。”;
//文字列から指定の文字が最初に出現する位置を取得
$leng = mb_strpos($mes,”。”) + 1; //(”。”を含めたいので+1する)
// 文字数を指定して抽出する関数
//mb_substr(文字列,開始位置,文字数);
echo mb_substr($mes,0,$leng);
?>
出力:
あいうえお。
▼指定文字と指定文字の間を抽出する方法
<?php
//文字列
$mes = “あいうえお。かきくけこ。”;
//文字列から指定の文字が最初に出現する位置を取得
$start_leng = mb_strpos($mes,”い”) ; //(”い”を開始位置)
$end_leng = mb_strpos($mes,”か”) + 1 – $start_leng ; //(”か”を終了位置。開始位置からの文字数取得)
// 文字数を指定して抽出する関数
//mb_substr(文字列,開始位置,文字数);
echo mb_substr($mes, $start_leng , $end_leng );
?>
出力:
いうえお。か
※mb_ナントカ系の関数は、文字コードに気をつけてください。
元の文書がEUCなどで文字コード指定をしないと計算が狂います。
これはUTF-8環境での対応です。