在使用的時候,得先把要生成摘要的內容strip_tags()一下,當然,你也可以把strip_tags()直接新增到函式中,我沒有搞,自己新增吧。下面是函式:
複製** **如下:
function cutstr($string, $length,$charset,$dot)
$pre = chr(1);
$end = chr(1);
//保護特殊字串
$string = str_replace(array('&', '"', ''), array($pre.'&'.$end, $p程式設計客棧re.'"'.$end, $pre.''.$end), $string);
$strcut = '';
if(strtolower($charset) == 'utf-8') elseif(194 <= $twww.cppcns.com && $t <= 223) els程式設計客棧eif(224 <= $t && $t <= 239) elseif(240 <= $t && $t <= 247) elseif(248 <= $t && $t <= 251) elseif($t == 252 || $t == 253) else
if($noc >= $length)
} if($noc > $length)
$strcut = substr($string, 0, $n);
} else
} //還原特殊字串
$strcut = str_replace(array($pre.'uzkezzw&'.$end, $pre.'"'.$end, $pre.''.$end), array('&', '"', ''), $strcut);
//修復出現特殊字串截段的問題
$pos = strrpos($s, chr(1));
if($pos !== false)
return $strcut.$dot;
}
本文標題: php摘要生成函式(無亂碼)
本文位址:
php擷取中文無亂碼
在php中需要對字串進行擷取,如果沒有裝mb擴充套件 mb substr函式 對中文擷取就需要進行相應的處理。下面是對字串 世s界s的功s 夫薩的mn是非得失sdf dsf dsf 達 擷取10個字元,最後的輸出是 世s界s的 編碼均為utf8 ss 世s界s的功s 夫薩的mn是非得失sdf dsf...
中文擷取無亂碼的PHP
str 待擷取的字串 len 擷取的字元個數 chars 已經擷取的字元數 res 儲存的字串 chars 儲存已經擷取的字串個數 offset 擷取的偏移量 length 字串的位元組數 若 len str的字元個數,造成無謂的while迴圈,offset length限定 function ut...
php中文擷取無亂碼方法
直接使用php函式substr擷取中文字元可能會出現亂碼,主要是substr可能硬生生的將乙個中文字元 鋸 成兩半。解決辦法 1 使用mbstring擴充套件庫的mb substr擷取就不會出現亂碼了。2 自己書寫擷取函式,但效率不如用mbstring擴充套件庫來得高。3 如果僅是為了輸出擷取的串,...