Tratando de averiguar cómo saber si una cadena contiene cualquier caracteres en hebreo sin suerte.¿Cómo saber si una cadena contiene caracteres en hebreo usando PHP?
¿Cómo se puede hacer esto?
Tratando de averiguar cómo saber si una cadena contiene cualquier caracteres en hebreo sin suerte.¿Cómo saber si una cadena contiene caracteres en hebreo usando PHP?
¿Cómo se puede hacer esto?
Si la cadena fuente está codificada en UTF-8, entonces el enfoque más simple sería usar \p{Hebrew}
en la expresión regular.
La llamada también debe tener el modificador /u
.
= preg_match("/\p{Hebrew}/u", $string)
¿No se pierde un '\' en '\\ p'? – fge
@fge: Si quieres ser super correcto :) Pero '" \ p "' no es un escape de C-string, por lo que llegará correctamente a la biblioteca PCRE como '\ p' – mario
Hmm, así que no necesitas escapar barras diagonales inversas en los literales de cadena de PHP? No lo sabía. – fge
map of the iso8859-8 character set. El rango E0 - FA parece estar reservado para el hebreo.
[\xE0-\xFA]
Para UTF-8, la range reserved for Hebrew parece ser 0590 a 05FF.
[\u0590-\u05FF]
He aquí un ejemplo de un partido de expresiones regulares en PHP:
echo preg_match("/[\u0590-\u05FF]/", $string);
El enfoque más sencillo sería:
preg_match('/[א-ת]/',$string)
Por ejemplo,
$strings = array("abbb","1234","aabbאאבב","אבבבב");
foreach($strings as $string)
{
echo "'$string' ";
echo (preg_match('/[א-ת]/',$string))? "has Hebrew characters in it." : "is not Hebrew";
echo "<br />";
}
I piensa este enlace te ayudará http://stackoverflow.com/questions/1694350/how-can-i -detect-hebrew-characters-both-iso8859-8-and-utf8-in-a-string-using-php –