ä¸å¹´ååçä¸ä¸ªå½æ°ãç¨æ³ä¸substrä¸æ ·ï¼æ¯æä¸æãæ¨ä¹å¯ä»¥å 以æ¹è¿ã
//æªåå符串å«æ°ï¼å¯¹ç³»ç»å½æ°çæ¹è¿ï¼ä¸ä¼å°ä¸æåä¹±ã
function mysubstr ($str,$start,$len=0,$cutchar="â¦") {
$str=str_replace(" ",' ',$str);
$str=str_replace("“",'â',$str);
$str=str_replace("”",'â',$str);
$str=str_replace("—",'â',$str);
$str=str_replace(""",'"',$str);
$str=str_replace(''',"'",$str);
$str=str_replace("<",'<',$str);
$str=str_replace(">",'>',$str);
$str=str_replace("&",'&',$str);
$str=preg_replace("/[\s]+/"," ",$str);
$tolen=strlen($str);
if(!($start==0 && $len>=$tolen)){
//为æ¹ä¾¿æä½ï¼å
å°èµ·å§å¼åé¿åº¦å¼è½¬æ¢ä¸ºæ£æ°
if($start<0)$start=$tolen+$start;if($start<0)$start=0;if($start>$tolen)return "";
if($len<=0)$len=($tolen+$len)-$start;if($len<1)return "";
if($len>$tolen)$len=$tolen;
for($i=0;$i<$start;$i++){
if(ord(substr($str,$i,1))>127){$i++;}
}
$start=$i; //èµ·å§ä½ç½®è®¡ç®å®æ
for($k=0;$k<$len;$k++,$i++){
if(ord(substr($str,$i,1))>127){$i++;$k++;}
}
$len=$k; //é¿åº¦è®¡ç®å®æ
$str=substr($str,$start,$len);
if($start>0){$str=$cutchar.$str;}
if($start+$len<$tolen){$str.=$cutchar;}
}
$str=str_replace("&",'&',$str);
$str=str_replace('"','"',$str);
$str=str_replace("'",''',$str);
$str=str_replace("<",'<',$str);
$str=str_replace(">",'>',$str);
return $str;
}
温馨提示:答案为网友推荐,仅供参考