PHP - Nettoyer une chaîne de caractères

Dernière mise à jour le 28 octobre 2009 à 18:37 par marlalapocket
Publié par avion-f16
Voici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting.

Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères spéciaux et en remplaçant les espaces par des tirets. Par exemple : "Café noir" donnera "cafe-noir".

Voici la fonction en question :
function string2url($chaine) {
	$chaine = trim($chaine);
	$chaine = strtr($chaine,
"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
	$chaine = strtr($chaine,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz");
	$chaine = preg_replace('#([^.a-z0-9]+)#i', '-', $chaine);
        $chaine = preg_replace('#-{2,}#','-',$chaine);
        $chaine = preg_replace('#-$#','',$chaine);
        $chaine = preg_replace('#^-#','',$chaine);
	return $chaine;
}

Exemple d'utilisation :
<?php
echo string2url('Comment Ça Marche, c'est le meilleur site !');
// Donnera : comment-ca-marche-c-est-le-meilleur-site
?>
Meilleures réponses pour « PHP Nettoyer une chaîne de caractères » dans :
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...