Bonjour,
Afin de générer une url suivant le titre d'un article j'ai écrit cette fonction
Mais je rencontre deux problèmes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function GenerationUrl($text) { $text = iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE',$text); $text = strtr($text,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY'); $text = preg_replace('/\b\w{1,3}\b/', '', $text); $text = preg_replace('/\W+/', '-', $text); $text = trim($text, '-'); return $text; }
Le premier est une notice d'erreur concernant la fonction iconv()
Notice: iconv() [function.iconv]: Detected an illegal character in input string in ......
La deuxième encore plus étrange le retour de cette fonction pour une utilisation identique.
J'explique. Dans mon formulaire de création d'article, il y a un champ "url". L'utilisateur saisie les mots clés qu'il souhaite dans son url et via un appel ajax de la fonction, il voie en live se que donnera son url.
Ensuite dans cette même page, j'utilise cette même fonction au moment d'enregistrer l'article en base.
Mais voila le résultat de sortie est différent :
Imaginons que dans le champ url j'écrive : Ceci est un autre d'ajout de catégorie
Avec l'appel ajax ca me donne : ceci-autre-ajout-categorie
A l'enregistrement en basse : ceci-autre-ajout
J'ai testé en appelant la fonction a la validatin du formulaire sans enregistrement en base même constat : ceci-autre-ajout
pourtant mon $_POST envoie bien la chaine complète Ceci est un autre d'ajout de catégorie
Je ne comprend pas d'ou vient le pb.
Merci de votre aide
Partager