2012-02-22 25 views
5

que estoy tomando esta pregunta/respuesta más¿Cómo encontrar si una cadena tiene todas las letras en inglés o en árabe

How to check, if a php string contains only english letters and digits?

pero le falta comprobar los caracteres especiales, podemos hacer eso?

Mi objetivo es averiguar si la cadena tiene caracteres arábigos, pero eso puede ser difícil ... (si no, por favor asesorar).

Como alternativa podemos comprobar si tiene todos los caracteres ingleses de lo contrario, obviamente, sería árabe desde que he sólo estos dos idiomas ...

+0

Puede intentar 'mb_detect_encoding': http://php.net/manual/en/function.mb-detect-encoding.php – dbrumann

+0

Así que quiere asegurarse de que la cadena solo contenga caracteres en inglés o solo en árabe, ¿correcto? – DavidW

+0

http://stackoverflow.com/questions/2752691/how-to-detect-language-of-text? – Svish

Respuesta

9

Si esto no funciona, intente lo siguiente:

funciones preg
$is_arabic = preg_match('/\p{Arabic}/u', $text); 

El PHP, que se basan en PCRE, soporte Unicode cuando la opción/u se agrega a la expresión regular, según http://www.regular-expressions.info/unicode.html.

Cuestiones relacionadas