Rileva carattere cinese (multibyte) nella stringa
Domanda
$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";
Come faccio a rilevare i caratteri cinesi da questa stringa e stampare la parte che inizia con il primo carattere e finisce con "-"? (Sarebbe "caratteri 中文 Alcuni più caratteri -.").
Grazie!
Soluzione
Ho risolto questo problema utilizzando preg_match e regolari espressioni:
$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";
preg_match(/[\x{4e00}-\x{9fa5}]+.*\-/u, $str, $matches);
Altri suggerimenti
PHP sta memorizzando questo come Unicode? Se è così, nel peggiore dei casi si potrebbe scorrere la stringa, carattere per carattere, fino a colpire coloro che all'interno della gamma cinese.
Check this out troppo PHP: Unicode - Manuale
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow