baycris Posté 9 Mars 2006 Posté 9 Mars 2006 (modifié) Un peu apres avoir poster un petit malin tente des requetes sql sur le site donc pour ne plus donner envie je retire mon poste. Pas cool. Cris. Modifié 9 Mars 2006 par baycris
TheRec Posté 9 Mars 2006 Posté 9 Mars 2006 Bonjour, j'utilise cette fonction toute "simple" pour ce genre de tâche... /** * Convert a string to something that can be used in a URL * * @date 2005-04-02 * @param string $str String to make URL friendly * @return string URL friendly text */ function str2url($str) { $str = strtr($str,"ÀÁÂÃÄÅàáâãäåÇçÒÓÔÕÖØòóôõöøÈÉËèéêëÌÍÎÏìíîïÙÚÛÜùúûüŸÝÿýÑñ","AAAAAAaaaaaaCcOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuYYyyNn"); $str = str_replace('Æ','AE',$str); $str = str_replace('æ','ae',$str); $str = str_replace('Œ','OE',$str); $str = str_replace('œ','oe',$str); $str = preg_replace('/[^a-z0-9_\s\'\:\/\[\]-]/','',strtolower($str)); $str = preg_replace('/[\s\'\:\/\[\]-]+/',' ',trim($str)); $res = strtolower(str_replace(' ','-',$str)); return $res; } Elle est utilisée par le moteur de blog DotClear et règle ce problème d'apostrophe Pour la deuxième question... je ne comprends pas bien ce que tu demandes... donc soit tu reformules pour moi..soit tu attends que quelqu'un d'autre comprenne ;D
baycris Posté 9 Mars 2006 Auteur Posté 9 Mars 2006 (modifié) Merci à toi eh non mal'heureusement cela ne fonctionne pas chez moi... Domage ca raccourci un peut le code... Enfin que tu ne comprenne pas la deuxieme explique peut etre cela Car ce n'est qu'une question en fait. La function sert a modifier l'url mais mon probleme je pense ce situe a l'appelle de l'url de son ecriture "initiale". Comment sont appellées tes url par exemple ? La différence entre les des code d'url que je prensente c'est l'addition de \ Cris Modifié 9 Mars 2006 par baycris
TheRec Posté 9 Mars 2006 Posté 9 Mars 2006 (modifié) On peu procèder comme ceci (si je n'utilise pas un moteur de template) : <a href="http://www.domain.com/recette-<?php echo $lid."-".str2url($ltitle); ?>.html" title="<?php echo $title; ?>"><b><?php echo $ltitle; ?></b></a> C'est pas très propre...mais c'est une troisième manière de faire, tu peux tenter pour voir si cela résoud ton problème, mais je doute car en définitive la sortie sera la même Tant au point de vue HTML que PHP les single quote/double quote ne modifient pas la sortie mais requière l'échapement (en PHP) et/ou l'altérnance d'utilisation (quand les données contiennent un apostrophe on utilise les guillemets, et inversément...). Sinon je ne vois pas... tes données dans la base de données sont-elle échapée ? (as-tu utilisé addslashes, mysql_escape_string, ... lors de l'ajout de données) ... en bref tu peux essayer d'afficher la chaîne de caractères récupérée sans la passer dans la fonction qui la transforme pour être comptatible avec l'URL et essayer de voir d'où le problème provient... **EDIT** Adresse remplacée..Oui...il y a toujours des "malins" Modifié 9 Mars 2006 par TheRec
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant