Pregunta

$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

¿Cómo puedo detectar caracteres chinos de esta cadena e imprimir la parte que comienza con el primer carácter y termina con "-"? (Que sería "caracteres 中文 Algunos más caracteres -.").

Gracias!

¿Fue útil?

Solución

He resuelto este problema utilizando preg_match y expresiones regulares:

$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

preg_match(/[\x{4e00}-\x{9fa5}]+.*\-/u, $str, $matches);

Otros consejos

¿PHP se almacena esto como Unicode? Si es así, en el peor que podría pasar a través de la cadena, carácter por carácter, hasta llegar a los que están dentro del rango chino.

Mira esto también PHP: Unicode - Manual

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top