ホームページ  >  記事  >  バックエンド開発  >  PHPサマリー生成機能(文字化けなし)_PHPチュートリアル

PHPサマリー生成機能(文字化けなし)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:20:37936ブラウズ

これを使用する場合は、まず生成するコンテンツをstrip_tags()する必要があります。もちろん、自分で追加したわけではありませんが、strip_tags()を関数に直接追加することもできます。以下は関数です:

コードをコピーします コードは次のとおりです:

function Cutstr($string, $length,$charset,$dot) {//文字、カット長、文字セット、終了文字
if(strlen ($string) <= $length) {
return $string;
$pre = chr(1)
$end = chr(1); = str_replace(array ('&', '"', '<', '>'), array($pre.'&'.$end, $pre.'"'.$end, $pre.' <'.$end, $pre.'>'.$end), $string);
if(strto lower($charset) == 'utf-8') {
$n = $tn = $noc = 0;
while($n $t = ord($string[$n]);
if($t == 9 || $t = = 10 || (32 $tn = 1; $n++; elseif(194 $ tn = 2; $n += 2;
} elseif(224 } elseif(240 } ;= $t && $t $tn = 5; $n += 5; $noc += 2;
} elseif($t == 252 || $t == 253) $tn = 6; $n += 2;
$n++;
if($noc >= $length) {
}
if($ noc > $length) {
$n -= $tn;
}
$strcut = substr($string, 0, $n)
for($i $strcut .= ord($string[$i]) > $string[$i].$string[++$i] : $string[$i];
//特殊な文字列を復元します
$strcut = str_replace(array($pre.'&'.$end, $pre.'"'.$end, $pre.'<'.$end, $pre.'> ;'. $end), array('&', '"', '<', '>'), $strcut);
//特殊な文字列切り捨ての問題を修正
$pos = strrpos($s , chr(1));
if($pos !== false) {
$strcut = substr($s,0,$pos)
}
return $strcut.$dot

;



http://www.bkjia.com/PHPjc/325057.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325057.html

技術記事

これを使用する場合は、まず生成するコンテンツをstrip_tags()する必要があります。もちろん、自分で追加したわけではありませんが、strip_tags()を関数に直接追加することもできます。以下は手紙です...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。