PHP 5 und frühere Versionen haben keine nativen Unicode-Unterstützung, dass heißt im Ernstfall muss man seine Applikation via “mbstring”-, “iconv-” und “intl”-Funktionen nachbessern. Daher habe ich eine kleine PHP-Bibliothek zusammengestellt, welche via composer installiert werden kann.
Beispiel:
echo strlen($string) . "\n<br />"; echo UTF8::strlen($string) . "\n<br />"; // output: // 70 // 67 $string_test1 = strip_tags($string); $string_test2 = UTF8::strip_tags($string); echo strlen($string_test1) . "\n<br />"; echo UTF8::strlen($string_test2) . "\n<br />"; // output: // 53 // 50
Erklärung:
Trotz seines Namens zählt “strlen()” nicht Zeichen sondern Bytes, bei UTF-8 kann ein Charakter jedoch bis zu vier Bytes [rfc3629] lang sein.
Installation:
https://packagist.org/packages/voku/portable-utf8
Dokumentation:
https://github.com/voku/portable-utf8/master/doc/classes/voku.helper.UTF8.html
Based on Hamid Sarfraz’s work: http://pageconfig.com/attachments/portable-utf8.php