「Stefan Äöüéèêë」のような言葉を口にしています。この文字列を 20 文字で切り詰めたいのですが... これには次のコードを使用しています。
$string = "Stefan Äöüéèêë";
if(strlen($string) > 20){
$string = substr($string, 0, 20) . '...';
}
安全に切り捨てられた文字列を取得するにはどうすればよいですか。
「Stefan Äöüéèêë」のような言葉を口にしています。この文字列を 20 文字で切り詰めたいのですが... これには次のコードを使用しています。
$string = "Stefan Äöüéèêë";
if(strlen($string) > 20){
$string = substr($string, 0, 20) . '...';
}
安全に切り捨てられた文字列を取得するにはどうすればよいですか。
マルチバイト版を使用してください: http://php.net/manual/de/function.mb-substr.php
さらに、非常に便利なユニコードの安全でないメソッドのリストを以下に示します: 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;