PHP採集利器:根據開始字串和結束字串擷取需要的採集內容資料

風火程式設計師發表於2014-11-17

PHP採集利器:根據開始字串和結束字串擷取需要的採集內容資料

function strCutByStr(&$str, $findStart, $findEnd = false, $encoding = 'utf-8'){
        if(is_array($findStart)){
            if(count($findStart) === count($findEnd)){
                foreach($findStart as $k => $v){
                    if(($result = strCutByStr($str, $v, $findEnd[$k], $encoding)) !== false){
                        return $result;
                    }
                }
                return false;
            }else{
                return false;
            }
        }
         
        if(($start = mb_strpos($str, $findStart, 0, $encoding)) === false){
            return false;
        }
         
        $start += mb_strlen($findStart, $encoding);
         
        if($findEnd === false){
            return mb_substr($str, $start, NULL, $encoding);
        }
         
        if(($length = mb_strpos($str, $findEnd, $start, $encoding)) === false){
            return false;
        }
         
        return mb_substr($str, $start, $length - $start, $encoding);
    }

舉例:

$str = '1那是一場23我問問4567890維穩';

echo (strCutByStr($str, '那是', '穩'));//輸出 一場23我問問4567890維


相關文章