Prbleme avec les caracteres speciaux

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Prbleme avec les caracteres speciaux

Message le Ven Déc 21, 2007 16:15

Bonjour
j'essayer de rewriter un petit script , et dans ce dernier les liens sont du genre
Code: Tout sélectionner
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


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Message le Ven Déc 21, 2007 16:37

Vu sur WRI:

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


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Ven Déc 21, 2007 16:45

Re
Merci pour votre reponse, j'avai deja vu ca , seulement j'ai pas arriver a le faire marcher avec l' echo


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Message le Ven Déc 21, 2007 16:50

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


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Ven Déc 21, 2007 17:01

j'ai essayer de metre ce code dans une page php que j'ai includer apres
spout a écrit:Vu sur WRI:

Code: Tout sélectionner
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: Tout sélectionner
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: Tout sélectionner
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 "_" :(


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Sam Déc 22, 2007 0:22

Re
j'ai trouver une solution radicale, mais bon au moin ca marche

Code: Tout sélectionner
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


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Dim Déc 23, 2007 14:07

lu,
tu en a 2 ici bien plus rapide en temps d'execution
-http://www.phpsources.org/scripts295-PHP.htm

++


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Dim Déc 23, 2007 23:38

Edit:
c'est bon merci
j'ia appliquer le code comme ca

Code: Tout sélectionner
<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"];?>">


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Lun Déc 24, 2007 6:08

- 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: Tout sélectionner
<?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>';

?>


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Lun Déc 24, 2007 8:59

Merci beaucoup KOogar, c'est vrais que c'est plus pratique comme ca :)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités