[PHP] alternative urlencode ?

Fermé
jp - 11 oct. 2011 à 14:12
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 - 15 oct. 2011 à 17:31
Bonjour,

existe-t-il une alternative à la fonction urlencode ?

j'aimerai que les URL soient plus "jolies" par exemple que les espace soit remplacés par "-" et non par "%20" parce que j'utilise ces URL pour le nom d'image téléchargable.
Et je trouve ca bizar d'avoir des fichiers sur windows avec des "%" etc.. comme nom

Je précise que je n'ai pas besoin de décoder par la suite. C'est simplement pour créer un nom unique qui est valide s'il est utilisé dans une URL.

Je sais que je pourrai créer une fonction qui remplace les caracteres moi même, mais ce serait extremement long si je dois couvrir toute les possibilté...

merci d'avance
A voir également:

1 réponse

avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
15 oct. 2011 à 17:31
Salut,

C'est ce qu'on appelle un slug (ou URL-Friendly)

Je te conseille cette fonction :
function toAscii($str, $replace=array(), $delimiter='-') {
	if( !empty($replace) ) {
		$str = str_replace((array)$replace, ' ', $str);
	}

	$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
	$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
	$clean = strtolower(trim($clean, '-'));
	$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);

	return $clean;
}

http://cubiq.org/the-perfect-php-clean-url-generator
0