コードをコピーします コードは次のとおりです:
$lenth = 19;
$str = "長いニュースタイトルの最初の数文字だけを表示して使用する方法。 .. 置換しますか? ";
echo strlen($str)?> ;
コードをコピーします コードは次のとおりです:
/*
@ 別の方法、ord() 関数を使用します:
@ gb2312 エンコーディングに適用:
*/
$str = "長いニュースタイトルの最初の数単語だけを表示して...に置き換えるにはどうすればよいですか? "; 0 ;$i$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i] : $str [ $i];
}
return $restr;
}
/*
@ 以下は utf-8 エンコードにのみ適用されます。
*/
function utf8_substr($str, $limit) {
$restr = '';
for ($i=0;$i$restr .= ord($str[$i])>127 ? $str[$i].$str[++ $i ].$str[++$i] : $str[$i];
}
return $restr;
//上記の最初のものを説明します: chr(0) は null ではありません、null は何も意味しません、そして chr(0) の値は 0 です。 16進数で表すと0x00、2進数で表すと00000000となります。chr(0)では何も表示されませんが、文字です。 chr(0)は何も表示されませんが、文字です。漢字が切り詰められると、エンコード規則に従って、必ずその後ろにある他の文字を引き込んで漢字として解釈する必要があるため、文字化けが発生します。
?>
以上、php chr ord 中国語インターセプト文字化け問題の解決方法を、問題解決の内容も含めて紹介しましたので、PHP チュートリアルに興味のある友人の参考になれば幸いです。