원본 문자열에서 특정 문자열의 위치를 모두 추출하여 배열로 반환하는 함수.
/**
* 원본문자열에서 특정 문자열의 위치를 모두 추출하여 배열로 반환
* @param string $orgString 원본 문자열
* @param string $subString 찾으려 하는 문자열
* @param string $encoding 인코딩
* @return array 특정 문자열 위치 배열
*/
function getStrPosArr($orgString, $subString, $encoding='')
{
$pos = 0;
$arrPos = array();
if ($encoding) {
$len = mb_strlen($orgString, $encoding);
$subLen = mb_strlen($subString, $encoding);
}
else {
$len = strlen($orgString);
$subLen = strlen($subString);
}
if ($len<1) return;
while ($pos<$len) {
if ($encoding) $pos = mb_strpos($orgString, $subString, $pos, $encoding);
else $pos = strpos($orgString, $subString, $pos);
if ($pos===false) break;
$arrPos[] = $pos;
$pos += $subLen;
}
return $arrPos;
}
* 원본문자열에서 특정 문자열의 위치를 모두 추출하여 배열로 반환
* @param string $orgString 원본 문자열
* @param string $subString 찾으려 하는 문자열
* @param string $encoding 인코딩
* @return array 특정 문자열 위치 배열
*/
function getStrPosArr($orgString, $subString, $encoding='')
{
$pos = 0;
$arrPos = array();
if ($encoding) {
$len = mb_strlen($orgString, $encoding);
$subLen = mb_strlen($subString, $encoding);
}
else {
$len = strlen($orgString);
$subLen = strlen($subString);
}
if ($len<1) return;
while ($pos<$len) {
if ($encoding) $pos = mb_strpos($orgString, $subString, $pos, $encoding);
else $pos = strpos($orgString, $subString, $pos);
if ($pos===false) break;
$arrPos[] = $pos;
$pos += $subLen;
}
return $arrPos;
}
'PHP' 카테고리의 다른 글
[PHP Extension] PHP Extension Debugging (Visual C++ 2008) (0) | 2010.07.19 |
---|---|
[PHP Extension] PHP Extension 만들기 (Visual C++ 2008) (5) | 2010.07.19 |
[PHP] SpreadSheet_Excel_Reader 64비트 CPU 오류. (0) | 2010.06.15 |
[PHP] UTF-8 BOM 떼어 내기 (0) | 2010.05.24 |
[PHP] debug_backtrace() - 함수호출 스택 디버깅 (0) | 2010.04.09 |