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!

È stato utile?

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
scroll top