원본 문자열에서 특정 문자열의 위치를 모두 추출하여 배열로 반환하는 함수.



/**
 * 원본문자열에서 특정 문자열의 위치를 모두 추출하여 배열로 반환
 * @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;   
}





Posted by bloodguy
,