Menu
Donnez votre avis

PHP - Nettoyer une chaîne de caractères

Posez votre question
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 
?>

Plus d'information

Article original publié par jak58. Traduit par avion-f16.

Ce document intitulé «  PHP - Nettoyer une chaîne de caractères  » issu de CommentCaMarche (https://www.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Ajouter un commentaire

Commentaires

Commenter la réponse de Magician