Accueil > Forum > > > > Texte propre pour une url ?
Texte propre pour une url ?
samedi 24 février 2007 à 13:18:19 |
Texte propre pour une url ?

porciner
|
Bonjour, J'ai fais une fonction qui permet de dénuer une chaine de ses caractères spéciaux et autres caractères nuisibles lorsque l'on veut ajouter cette chaine dans une url. Le problème c'est que ma fonction est vraiment longue et je me demande s'il existe un autre moyen (avec les expressions régulières par exemple) de raccourcir celle-ci : function cleanStrForUrl($str) { $str = trim($str); $str = str_replace(' ', '_', $str); $str = str_replace('\'', '_', $str); $str = str_replace('-', '_', $str); $str = str_replace('&', 'et', $str); $str = str_replace('Á', 'a', $str); $str = str_replace('á', 'a', $str); $str = str_replace('Â', 'a', $str); $str = str_replace('â', 'a', $str); $str = str_replace('Æ', 'ae', $str); $str = str_replace('æ', 'ae', $str); $str = str_replace('À', 'a', $str); $str = str_replace('à', 'a', $str); $str = str_replace('Å', 'a', $str); $str = str_replace('å', 'a', $str); $str = str_replace('Ã', 'a', $str); $str = str_replace('ã', 'a', $str); $str = str_replace('Ä', 'a', $str); $str = str_replace('ä', 'a', $str);
$str = str_replace('Ç', 'c', $str); $str = str_replace('ç', 'c', $str);
$str = str_replace('É', 'e', $str); $str = str_replace('é', 'e', $str); $str = str_replace('Ê', 'e', $str); $str = str_replace('ê', 'e', $str); $str = str_replace('È', 'e', $str); $str = str_replace('è', 'e', $str); $str = str_replace('Ë', 'e', $str); $str = str_replace('ë', 'e', $str); $str = str_replace('€', 'e', $str); $str = str_replace('Í', 'i', $str); $str = str_replace('í', 'i', $str); $str = str_replace('Î', 'i', $str); $str = str_replace('î', 'i', $str); $str = str_replace('¡', 'i', $str); $str = str_replace('Ì', 'i', $str); $str = str_replace('ì', 'i', $str); $str = str_replace('Ï', 'i', $str); $str = str_replace('ï', 'i', $str); $str = str_replace('Ñ', 'n', $str); $str = str_replace('ñ', 'n', $str); $str = str_replace('Ó', 'o', $str); $str = str_replace('ó', 'o', $str); $str = str_replace('Ô', 'o', $str); $str = str_replace('ô', 'o', $str); $str = str_replace('¼', 'oe', $str); $str = str_replace('½', 'oe', $str); $str = str_replace('Ò', 'o', $str); $str = str_replace('ò', 'o', $str); $str = str_replace('Õ', 'o', $str); $str = str_replace('õ', 'o', $str); $str = str_replace('Ö', 'o', $str); $str = str_replace('ö', 'o', $str); $str = str_replace('¦', 's', $str); $str = str_replace('¨', 's', $str); $str = str_replace('Ú', 'u', $str); $str = str_replace('ú', 'u', $str); $str = str_replace('Û', 'u', $str); $str = str_replace('û', 'u', $str); $str = str_replace('Ù', 'u', $str); $str = str_replace('ù', 'u', $str); $str = str_replace('Ü', 'u', $str); $str = str_replace('ü', 'u', $str); $str = str_replace('Ý', 'y', $str); $str = str_replace('ý', 'y', $str); $str = str_replace('¾', 'y', $str); $str = str_replace('ÿ', 'y', $str); $str = strtolower($str); $len = strlen($str); for ($i = 0; $i < $len; $i++) { if (!ereg('[-_0-9a-z]+', $str{$i})) { $str = str_replace($str{$i}, '', $str); $len = strlen($str); } }
while(!ereg('[0-9a-z]+', $str{0})) { $str = substr($str, 1, $len); }
$len = strlen($str); while(!ereg('[0-9a-z]+', $str{$len-1})) { $str = substr($str, 0, $len-1); $len = strlen($str); } $str = str_replace('__', '_', $str); return $str; }
|
Merci à vous.
|
|
samedi 24 février 2007 à 14:16:45 |
Re : Texte propre pour une url ?

vilhjalms
|
Saell og blesuð
voir urlencode()
Vilhjálms
Sigurðsdóttir aka Frëyjá
|
|
lundi 26 février 2007 à 14:45:36 |
Re : Texte propre pour une url ?

christobal
|
Réponse acceptée !
Si j'ai bien compris, tu veux réécrire une chaine pour en faire une url propre ? Si c'est le cas je te conseil d'utiliser ces trois fonction $char = htmlentities(stripslashes(strtolower($chaine)),ENT_QUOTES) ; + str_replace. Attention celas converti les lettres accentué et autre symbole. Donc revoi l'écriture de ton str_replace. (à = a) et non (à = a) de plus utilise un array plutôt que de faire autant de str_replace que du lettres
|
|
lundi 26 février 2007 à 16:24:19 |
Re : Texte propre pour une url ?

vilhjalms
|
Saell og blesuð
Ouais enfin un urlencode() puis un urldecode() reste plus simple selon moi
cf la doc : http://fr.php.net/manual/fr/function.urlencode.php
Vilhjálms
Sigurðsdóttir aka Frëyjá
|
|
lundi 26 février 2007 à 20:25:59 |
Re : Texte propre pour une url ?

christobal
|
Ok mais quand tu regarde sa fonction, se qu'il cherche a faire c'est comme les urls de phpcs. Alors que urlencode génére de nouveaux caracter comme le + pour les espaces et les pourcentage pour les caractere non alpha numerique.
|
|
Cette discussion est classée dans : replace, url, str, len, strlen
Répondre à ce message
Sujets en rapport avec ce message
str_replace et condition [ par christobal ]
bonjour,je cherche via la fonction str_replace a rajouter au url d'un text le nom de domaine du site.Pour être plus clair, certains articles de mon si
Acronymes dynamiques [ par crocxx2 ]
Bonjours, je cherche à développer un systeme qui me permetré de géré les acronymes dynamiquement pour mon site, jusque la j'ai fait sa: function Re
"&" dans une expression régulière [ par Nitruk ]
Bonjour, il semblerait que je rencontre un problème en essayant de trouver des url, ou plus précisment des balises "url" de BBcode.Pour adapter celles
probleme avec la fonction str_replace [ par hajeur_abd ]
bonjourj'ai récuperé le chemin d'acces d'un fichier dans une variable et je veu remplacer les anti-slash par des des slash.voila le code que j'ai tapé
str_replace pour remplacer un div [ par 64nemesis ]
Bonjour,je souhaiterai remplacer un div dans une page en fonction d'un parametre, ainsi est-il possible de faire:str_replace(" blah blah blah"," blah
Comment mettre du texte en rouge dans un Flux RSS ? [ par fdiedler2000 ]
Bonjour à tous, Non ma question n'est pas "Comment mettre du texte en rouge ?" J'ai crée mon propre flux
Problème de code ,,, [ par thekid23 ]
Salut, j'ai un problème ... Voici le code :$fichier = 'donnee/Regular Season Schedule.csv';if(file_exists($fichier)){$fp = fopen("$fichier", "r"); wh
Autocomplétion et str_replace [ par shadow1779 ]
Bonjour,je fais un systeme de recherche dans une base de donnée ou la page affiche au fur et a mesure que l'on tape son texte des resultats en rapport
str_replace("'", """, $maChaine); [ par alonsyl ]
bonjour, j'utilise 1 chaine de caractere pour generer du code HTML via PHP. j'ai donc des trucs du genre :$maChaine = "TEST";echo $maChaine;le
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|