Skip to content

Instantly share code, notes, and snippets.

@gracefullight
Last active February 13, 2017 05:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gracefullight/9bd8c47b6ea90babaf4c3d8b2d0993ae to your computer and use it in GitHub Desktop.
Save gracefullight/9bd8c47b6ea90babaf4c3d8b2d0993ae to your computer and use it in GitHub Desktop.
<?php
/**
* [splitBetweenStr 텍스트 사이의 문자열을 배열로 반환]
* @param [string] $str [전체 문자열]
* @param [string] $startWord [찾을 시작 문자열]
* @param [string] $endWord [찾을 종료 문자열]
* @return [array] [텍스트 사이의 문자열 배열]
*
* ex) splitBetweenStr('<br>hi</br><b>test</b><br>graceful_light</br>', '<br>', '</br>')
* => ['hi', 'graceful_light']
*/
function splitBetweenStr($str, $startWord, $endWord){
for ($i=0, $len=strlen($str); $i<$len; $i++){
$target = substr($str,$i);
$prevStartIdx = strpos($target, $startWord);
$startIdx = $prevStartIdx + strlen($startWord);
$endIdx = strpos(substr($target, $startIdx), $endWord);
if ($prevStartIdx===false || $endIdx===false){
break;
} else {
$betweenStrings[] = substr($target, $startIdx, $endIdx);
$i += $startIdx + $endIdx + strlen($endWord) - 1;
}
}
return $betweenStrings;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment