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維