function viremerde($text)
{
// Définition du séparateur
$separator = "-";
$tofind = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ"; // Lettre accentuées
$replac = "aaaaaaooooooeeeeciiiiuuuuyn"; // Equivalent non accentué
// Mise en minuscule + suppression des lettres accentuées par leur équivalent non accentué
$text = strtr(strtolower($text),$tofind,$replac);
// Remplacement de caractère non alphanumérique par un séparateur
$text = ereg_replace("[^a-z0-9.]", $separator, $text);
// Suppression des doubles séparateurs
while (strstr($text, $separator . $separator))
$text = str_replace($separator . $separator, $separator, $text);
// Suppression du 1er caracterere s'il est egal au separateur
if (substr($text, 0, 1) == $separator)
$text = substr($text, 1);
// Retour avec suppression d’un possible séparateur en fin de chaîne
return(ereg_replace($separator . "$", "", $text));
}
function str2url($str)
{
if ($this->encoding == 'UTF-8') {
$str = $this->removeEntities(utf8_decode($str));
} else {
$str = $this->removeEntities($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 = str_replace(' ','-',$str);
return $res;
}
$title = strtr($title, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ -'/", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn----");
$title = preg_replace('|\W|', '-', $title);
yazerty a dit:Le preg_replace est-il différent du ereg_replace("[^a-z0-9.] ? Lequel filtre le plus ?
Audiofeeline a dit:Ca serait bien qu'ils ajoutent une fonction toute faite dans la prochaine version de PHP...
Audiofeeline a dit:Ca serait bien qu'ils ajoutent une fonction toute faite dans la prochaine version de PHP...
function format_url( $url, $type = '' ){
$url = preg_replace("`\[.*\]`U","",$url);
$url = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$url);
$url = htmlentities($url, ENT_COMPAT);
$url = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i","\\1", $url );
$url = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $url);
$url = ( $url == "" ) ? $type : strtolower(trim($url, '-'));
return $url;
}
Jeviensderio a dit:Audiofeeline a dit:Ca serait bien qu'ils ajoutent une fonction toute faite dans la prochaine version de PHP...
Qu'est-ce que vous reprochez à rawurlencode?
KOogar a dit:Jeviensderio a dit:Audiofeeline a dit:Ca serait bien qu'ils ajoutent une fonction toute faite dans la prochaine version de PHP...
Qu'est-ce que vous reprochez à rawurlencode?
ca => %C0%C1%C2%C3%C4%C5%E0%E1%E2%E3%E4%E5%
yazerty a dit:Je voulais tester, mais là du coup ça n'est plus très intéressant pour les urls...
mikaweb > ton code est quand même un peu plus complexe que celui dont on parle, non ? A moins qu'il ne gère autre chose ?
➡️ Offre MyRankingMetrics ⬅️
pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)
Voir les détails ici