PHP

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

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

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

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

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

//文字列間の文字取得関数呼び出し
$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 = &quot;&quot;;
	}
	
	return $result_buf;
}
?>

文字列出力結果

cdefghijklm

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

 
※流用される場合は自己責任でお願いします。