Ho alcune stringhe nel mio codice PHP che devono essere troncate se sono troppo lunghe.Come troncare una stringa UTF8 in PHP?
Per esempio, se un testo è qualcosa di simile:
Salve, vorrei dirvi quanto sia meraviglioso questo è.
Sarebbe sostituirlo con questo:
Salve, Vorrei ...
Per questo ho fatto una semplice substr
. Il problema è che in UTF8 alcuni caratteri sono in realtà lunghi due caratteri. E ho avuto qualche problema con un personaggio tagliato nel mezzo: ad esempio, quando provo ad inserire la stringa modificata nel database, si blocca.
Qui è la mia funzione attuale:
static function short($string, $max = 255){
if(strlen($string) >= $max){
$string = substr($string, 0, $max - 5).'...';
} return $string;
}
qualcuno dovrebbe conoscere un modo per rendere questa funzione di lavoro anche per i caratteri UTF8?
Perché '$ max - 5'? – deceze
dare un'occhiata a 'https: //api.drupal.org/api/drupal/includes! Unicode.inc/function/truncate_utf8/7' –
possibile duplicato di [funzione troncata compatibile UTF-8] (http: // stackoverflow .com/questions/6288875/utf-8-compatible-truncate-function) – user