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;
	} :lol: )
 :lol: )$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
