Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1518 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] accents inclus ou non dans les expressions rationelles [a-z]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] accents inclus ou non dans les expressions rationelles [a-z]

n°763741
Ethan_cart​er
Posté le 15-06-2004 à 01:42:04  profilanswer
 

Bonjour,
 
Dans une expression rationelle, je demande à un programme PHP de détecter la présence d'un lien (URL) contenant des caractères ou des chiffres, afin d'effecturer une subsititution avec preg_replace.
 
Il s'agit d'activer l'URL rewriting d'un forum PHPbb, les liens .php sont transformés en .html.
 
exemple :

Code :
  1. domaine.com/test.php?param1=param1&param2=param2


 
dans mon expression rationelle, je mets :
 

Code :
  1. domaine\.com\/test\.php\?param1=([a-zA-Z0-9]*)&param2=([a-zA-Z0-9]*)


 
Or, si les paramètres contiennent des caractères accentués ou spéciaux comme une cédille, ils ne sont pas détectés. C'est embêtant quand l'URL contient des accents, et c'est le cas avec le paramètre highlight= (pour avoir des mots en surbillance).
 
Ainsi, il semble que les caractères é,è,ç etc..ne sont pas compris dans la plage a-zA-Z.
J'ai essayé d'ajouter manuellement les caractères spéciaux mais ça ne change rien... exemple [a-zA-Z0-9éèùïç] -> aucun changement.
 
Merci de votre aide.


Message édité par Ethan_carter le 15-06-2004 à 01:43:04
mood
Publicité
Posté le 15-06-2004 à 01:42:04  profilanswer
 

n°763742
T509
$job->GetJob(now)
Posté le 15-06-2004 à 01:49:57  profilanswer
 

je te déconseille fortement d'avoir des accents dans tes URL. Remplace les par les lettres équivalentes non accentuées.
 
Sinon, tu risque d'avoir un comportement diférent pour chaque navigateur. De plus avant de les transmettre, les accents sont substitués par les codes RFC1738 ou la valeurs hexa ascii équivalents.
 
exemple : {espace} => %20
é => %E9
...
 
Enfin
boulangère.html reste parfaitement lisible en boulangere.html
 
ce sont les codes donnés par rawurlencode() et urlencode()


Message édité par T509 le 15-06-2004 à 01:52:35

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°763743
Ethan_cart​er
Posté le 15-06-2004 à 01:54:20  profilanswer
 

Tu n'as pas compris mon message.
 
Je change les liens d'un forum existant, je n'y suis pour rien si PHPbb génère des URL avec des accents.
 
Merci

n°763744
T509
$job->GetJob(now)
Posté le 15-06-2004 à 02:06:24  profilanswer
 

comme certains navigateurs t'enverront des requêtes avec des code ascii en hexa précédés d'un %, il faudra que tu l'authorise.
 
Pour le reste je ne sais pas te répondre alors  
Sur le forum webrankinfo une partie est dédiée à l'url rewriting. Tu y trouvera peut-être la solution


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] accents inclus ou non dans les expressions rationelles [a-z]

 

Sujets relatifs
[php] - Help avec fonction ereg() toujour et encore incompréhensibleProblème liaison Javascript/PHP [Résolu]
[PHP]Tableaux multidimensionnels[PHP] Lister les champs d'une table
recuperer une variable javascript dans du code php entre 2 pagesLe PHP 5
[PHP] Récupérer les fichier de tous le dossier et sous dossiers..Securité PHP dans une messagerie privée.
Query sur DB Oracle via PHP : charge CPU énorme ![php] Afficher des enregistrements sans doublon [résolu]
Plus de sujets relatifs à : [PHP] accents inclus ou non dans les expressions rationelles [a-z]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR