Reescribo URL para incluir el título de blogs de viaje generados por el usuario.Cómo manejar signos diacríticos (acentos) cuando reescribo 'URL bonitas'
Lo hago para la legibilidad de las URL y los fines de SEO.
http://www.example.com/gallery/280-Gorges_du_Todra/
El primer entero es el ello, el resto es para nosotros los seres humanos (pero es irrelevante para solicitar el recurso).
Ahora las personas pueden escribir títulos que contengan cualquier carácter UTF-8, pero la mayoría no están permitidos en la URL. Mi público es generalmente habla Inglés, pero ya que viajan, les gusta incluir nombres como
Aït Ben Haddou
¿Cuál es la forma correcta de traducir esto para mostrar en una URL usando PHP en Linux.
Hasta ahora he visto varias soluciones:
simplemente despojar todos los caracteres no permitidos, sustituir los espacios esto tiene resultados extraños:
'Aït Ben Haddou' → /gallery/280-At_Ben_Haddou/
No muy servicial.simplemente despojar todos los caracteres no permitidos, sustituir los espacios, deje charCode (stackoverflow.com) muy probablemente debido a la 'expresión regular-martillo' utilizado
esto da resultados extraños:'tést tést' → /questions/0000/t233st-t233st
Traducir a ' equivalente más cercano '
'Aït Ben Haddou' → /gallery/280-Ait_Ben_Haddou/
Pero esto no funciona para el alemán; por ejemplo 'ü' debe ser transliterado 'ue'.
Para mí, como holandés, el 3er resultado "se ve mejor".
Estoy seguro de que (1) muchas personas tendrán una opinión diferente y (2) es simplemente incorrecta en el ejemplo alemán.
Otro problema con la tercera opción es: ¿cómo encontrar todos los caracteres posibles que se pueden convertir a un equivalente de 7 bits?
Así que la pregunta es:
lo que, en su opinión, es el resultado más deseable. (dentro de los límites técnicos)
Cómo solucionarlo técnicamente. (alcanza el resultado deseado) con PHP.
"ü" estaría escrito como "ue". "Oe" es "ö". :) – Bombe
[IDNA] (http://en.wikipedia.org/wiki/IDNA) –
Conozco los nombres de dominio internacionalizados, pero no resuelven el problema para esa ruta de recursos, ni son muy legibles – Jacco