【PHP関数】文字列内から開始文字と終了文字を指定し間の文字列を出力する関数を作ってみた

【PHP関数】文字列内から開始文字と終了文字を指定し間の文字列を出力する関数を作ってみた

phpの文字処理関連の関数で、指定開始文字列から指定終了文字列との間の文字を取得できる関数が無かったので簡単な関数を作って見ました。

開始文字と終了文字を指定した文字列間の取得関数と使用例

$html_buf:対象の文字列
$start_buf:開始文字列
$end_buf:終了文字列
$int_positon_cnt:対象文字列内の取得開始位置

以下、「<?php」と「?>」が大文字になってますが実際は小文字にして下さい。

<?php
$html_buf="abcdefghijklmn";
$start_buf="cde";
$end_buf="lm";

//文字列間の文字取得関数呼び出し
$re_mozi = html_cut_syutoku($html_buf,$start_buf,$end_buf,0);

print $re_mozi;

// $html_buf:対象の文字列
// $start_buf:開始文字列
// $end_buf:終了文字列
// $int_positon_cnt:対象文字列内の取得開始位置
function html_cut_syutoku($html_buf, $start_buf, $end_buf, $int_positon_cnt){

	if(strstr($html_buf, $start_buf)){
		$srt_position = strpos($html_buf, $start_buf, $int_positon_cnt);
		$srt_position = $srt_position + strlen($start_buf);
		$end_position = strpos($html_buf, $end_buf, $srt_position);
		
		$result_buf = substr($html_buf, $srt_position, $end_position-$srt_position);
	}else{
		$result_buf = "";
	}
	
	return $result_buf;
}
?>

文字列出力結果

cdefghijklm

文字列検索(strstr、strpos)や文字列分割(strpos)関数を組み合わせて使用してます。
有りそうで無かったので、自分で結構使ってます。