Logo SNS - Web et Informatique

SNS - Web et Informatique

Samedi 30 Septembre 2023
06 25 23 34 56
12150, Sévérac-le-Château
 08h00/23h00 - 7j/7
Être rappelé

    Découvrez Placido-Shop notre application de vente en ligne.

PHP Function format a string in URL and remove accents - PHP Fonction formater une chaîne en URL et supprimer les accents

Publié le .
<p><span lang="en">
I needed to rewrite article titles as URLs.
I created this function which transforms accented letters into unaccented letters and separates words with hyphens.
</span><span lang="fr">
J'ai eu besoin de réécrire des titres d'articles sous forme d'URL.
J'ai crée cette fonction qui transforme les lettres accentuées en lettres non-accentuées et qui sépare les mots par des tirets.</span>
</p>

<code><?php


/**
* function suppr_accents( $str, $encoding='utf-8' );
*
* @param {str} $str string to transform in url string
* @param {encoding} 'utf-8'
* @return {type} url formatted
*/
suppr_accents( $str ){


$str = trim($str);
// transformer les caractères accentués en entités HTML
$str = htmlentities($str, ENT_NOQUOTES, $encoding);

// Remplacer les ligatures tel que : Œ, Æ ...
// Exemple "œ" => "oe"
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str);
// Supprimer tout le reste
$str = preg_replace('#&[^;?]+;#', "", $str);
$str = preg_replace('#\?+$#', "", $str);
$str = preg_replace('#\!{1,}#', "", $str); // new add
$str = preg_replace('#\,{1,}#', "", $str); // new add
$str = preg_replace('/ - {1,1}/', "---", $str);
$str = preg_replace('/-{4,}/', "-", $str);
$str = preg_replace("#['\s]+#", "-", $str);
$str = preg_replace('/\.{1,}/', "-", $str);

return $str;

}
/**
* suppr_accents($str, $encoding='utf-8');
*/


}
// end function tools

?>
</code>