[PHP] alternative urlencode ?

jp -  
avion-f16 Messages postés 20367 Statut Contributeur -
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 20367 Statut Contributeur 4 509
 
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