2016-10-05 5 views
2

Je suis en train de créer une URL conviviale en utilisant le titre des articles qui peuvent être dans différentes langues.URLs amicales avec des caractères UTF8

Certaines langues utilisent des caractères tels que «ä», «ü», «ö», «ß», d'autres caractères comme cyrillique, des accents dans des mots espagnols et ainsi de suite.

La question est que je dois créer une URL parfaitement compréhensible par les navigateurs et bien sûr google.

Y at-il une fonction qui gère cela?

Je suis assez confus pour aborder cette tâche.

Quelqu'un peut-il aider?

+0

Vous devez 'urlencode()' la chaîne d'URL. Ou pour le garder joli les convertir au caractère similaire non-accent. (ä = a) –

Répondre

0

Ok, faites ceci.

Transmettez la chaîne en tant qu'argument dans le code d'URL intégré ("chaîne");

Une URL valide est générée

+0

Mais, y a-t-il un moyen de désinfecter la chaîne générée? – domoindal

+0

Vous pouvez utiliser htmlspecialchars() et html_entity_encode() pour convertir des caractères spéciaux en entités html correspondantes –

0

Au moins, j'ai trouvé la solution.

Voici un lien d'une fonction qui gèrent parfaitement: https://gist.github.com/sgmurphy/3098978#file-url_slug-php

J'espère que cette aide les gens avec le même problème.

+0

Pointless, quand vous pouvez utiliser 'urlencode()' ... Google et les navigateurs voient toujours les adresses comme si elles étaient décodées. – Anuga