我有一个像“Stefan Äöüéèêë”这样的词。我想在 20 个字符后截断这个字符串……但它给了我喜欢 Stefan Äöüéèê� 的感觉。我为此使用以下代码。
$string = "Stefan Äöüéèêë";
if(strlen($string) > 20){
$string = substr($string, 0, 20) . '...';
}
如何获得安全截断的字符串。
我有一个像“Stefan Äöüéèêë”这样的词。我想在 20 个字符后截断这个字符串……但它给了我喜欢 Stefan Äöüéèê� 的感觉。我为此使用以下代码。
$string = "Stefan Äöüéèêë";
if(strlen($string) > 20){
$string = substr($string, 0, 20) . '...';
}
如何获得安全截断的字符串。
使用它的多字节版本:http: //php.net/manual/de/function.mb-substr.php
此外,这里有一个非常方便的 unicode 不安全方法列表:http ://www.phpwact.org/php/i18n/utf-8
注意:strlen 确实返回了错误的值
试试这个朋友,如果你解码字符串,那么它会给出适当长度的字符串。
$string = "Stefan Äöüéèêë";
$string= utf8_decode($string);
echo strlen($string);
if(strlen($string) > 10){
$string = mb_substr($string, 0, 10);
}
echo $string;