2012-02-11 7 views
7

No entiendo por qué con /u modificador \w no funciona, y tenemos que cambiar nuestra expresión regular. No hablar de \b. w será equivalente a p {L} en un futuro?

¿Alguien sabe si en una nueva versión (tal vez php 6?) \w se convertirá en el mismo que \p{L} con /u?

Gracias

+0

Nadie sabe qué cambios tendrá PHP 6 (o si alguna vez seré lanzado) – Mchl

+1

¿Cuáles son todas estas dificultades con unicode para php? – dynamic

+1

Sí. Una de las razones por las que el desarrollo de PHP 6 se suspendió indefinidamente fue un problema para hacerlo compatible al 100% con Unicode. – Mchl

Respuesta

1

\w difiere con lugares, y como tal, es realmente útil para capturar NO runas extrañas o jeroglíficos, en algunos casos, a favor de sólo caracteres considerados caracteres de palabra en la configuración regional deseada. \w & \p{L} son funcionalmente totalmente diferentes. La gente debe estar más al tanto de la configuración de configuraciones regionales. Utilice la herramienta adecuada para el trabajo, y no un martillo para martillar un clavo de 1 pulgada, que sustituyendo \w por \p{L} sería. Mucha de la funcionalidad existente se rompería si la cambiaran. Además, esto no tiene relación alguna con el esfuerzo continuo de hacer PHP compatible con Unicode.

+0

¿estás seguro? Si configura la configuración regional para utf-8 \ w, no coincidirá con algunos caracteres utf8 – dynamic

+0

¿Qué quiere decir establecer su configuración regional en 'utf-8'? 'utf-8' es un conjunto de caracteres que se puede usar para una configuración regional, no para una configuración regional. ¿Cuál es la configuración regional real que está utilizando ('de_DE.utf-8' por ejemplo) y qué personaje le está dando problemas? – Wrikken

Cuestiones relacionadas