Prbleme avec les caracteres speciaux

WRInaute occasionnel
Bonjour
j'essayer de rewriter un petit script , et dans ce dernier les liens sont du genre
Code:
page.php?variable=<?php echo urlencode(str_replace(" ","-",str_replace("_","~",$row_var_0["var_name"])));?>
le str_replace la ne replace que les espaces avec "_" , cependent je chercher a remplacer toutes les é à è ... et les caracteres speciaux pour leur equivalant, tout en les metton en miniscule

quelqu'un a une idée?
j'ai beau chercher sont trouver une solution

bien a vous
 
WRInaute accro
Vu sur WRI:

Code:
function removeAccents($string){ 
	return strtr($string, 
		"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
		"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"
		);
}
 
WRInaute occasionnel
Re
Merci pour votre reponse, j'avai deja vu ca , seulement j'ai pas arriver a le faire marcher avec l' echo
 
WRInaute accro
Code:
page.php?variable=<?php echo urlencode(removeAccents(str_replace(" ","-",str_replace("_","~",$row_var_0["var_name"]))));?>
 
WRInaute occasionnel
j'ai essayer de metre ce code dans une page php que j'ai includer apres
spout a dit:
Vu sur WRI:

Code:
function removeAccents($row_var_0["var_name"]){
   return strtr($row_var_0["var_name"],
      "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
      "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"
      );
}

et j'ai mis le lien de cette forme

Code:
page.php?variable=<?php echo urlencode(removeAccents(str_replace(" ","-",str_replace("_","~",$row_var_0["var_name"]))));?>

mais ca n'a pas marcher!
desolé mais je me debrouille apeine en php

si non j'ai essayer de mon coté

Code:
page.php?variable=<?php echo preg_replace('!\W!','_',$row_var_0["var_name"]);?>">
ca marche bien en ce qui concerne les caracteres speciaux mais ca remplace aussi les è é à ç, par un "_" :(
 
WRInaute occasionnel
Re
j'ai trouver une solution radicale, mais bon au moin ca marche

Code:
page.php?variable=<?php echo strtolower(urlencode(
		str_replace(" ","-",
		str_replace("_","~",
		str_replace(array("!"," !","#","$","%","^","*","(",")","_","+","|","\\","=","{","}","[","]",":","\"","<",">","?"," ?",",",".","/"), "",
		str_replace(array("@","à","À","Á","Â","Ã","Ä","Å","á","â","ã","ä","å"), "a",
		str_replace(array("è","é","È","É","Ê","Ë","ê","ë"), "e",
		str_replace(array("Ù","Ú","Û","Ü","ù","ú","û","ü"), "u",
		str_replace(array("Ì","Í","Î","Ï","ì","í","î","ï"), "i",
		str_replace(array("Ò","Ó","Ô","Õ","Ö","Ø","ò","ó","ô","õ","ö","ø"), "o",
		str_replace(array("ç","Ç"), "c",
		str_replace(array("Ñ","ñ"), "n",
		str_replace(array(" - "," ","-","´","'","`"), "-",
		$row_var_0["var_name"])))))))))))));?>">

si quelqu'un de vous a un code plus propre , je suis preneur
 
WRInaute occasionnel
Edit:
c'est bon merci
j'ia appliquer le code comme ca

Code:
<a href="page_<?php echo urlencode(
		ereg_replace('[][;,.:/()<>=+*?!\]','',
		ereg_replace('-{2,3}','-',
		strtolower(ereg_replace('[[:space:]\']', "-",
		strtr($row_view["name"],"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
                 "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ))))));?>,<?php echo $row_view["id"];?>">
 
WRInaute accro
- Tu n'a plus besoin de la fonction urlencode()
- garde la fonction tel quel au lieu de l'integrer dans le code et cela pour garder plus de portabilité dans tes codes sources

Joyeux Noel !!

Code:
<?php 
function Url_Rewriting($url) 
{ 
$url = ereg_replace('[][;,.:/()<>=+*?!\]','',$url);
strtr( $url,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
                 "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ) 
$url = strtolower(ereg_replace('[[:space:]\']', "-", $url));
$url = ereg_replace('-{2,3}','-',$url);
return $url; 
} 

$ch = $row_view["name"];
$ch = Url_Rewriting($ch);
echo '<a href="page_'.$ch.','.$row_view['id'].'>lien</a>';

?>
 
Discussions similaires
Haut