¿Cómo puedo detectar caracteres no occidentales?

Quiero deshabilitar cierta entrada UTF-8 (del lado del servidor), por ejemplo, idiomas orientales, donde la entrada de ejemplo podría ser “伊”.

Sin embargo, sí quiero continuar apoyando a otros personajes latinos o “latinos”, como el galés ŵ y ŷ, por lo que no es posible verificar contra latin-1 .

¿Cuáles son mis opciones? (si es específico del idioma, prefirió PHP)

Muchas gracias.


Razonamiento: el soporte del navegador para muchos caracteres no occidentales a menudo falta (por ejemplo, en un navegador diferente, simplemente veo un recuadro en la pregunta anterior), por lo que para cosas como mostrar nombres a veces es apropiado restringirlo incluso si no es apropiado para cuerpos de mensaje

Solo haz

 preg_match('/[^\\p{Common}\\p{Latin}]/u', $string) 

donde $string es una $string UTF-8. Esto devolverá “1” si hay caracteres no latinos y devolverá “0” de lo contrario.

Ejemplo:

 var_dump(preg_match('/[^\\p{Common}\\p{Latin}]/u', 'sf..ŷaás??')); //int(0) var_dump(preg_match('/[^\\p{Common}\\p{Latin}]/u', 'sf..ŷݤaás??')); //int(1)