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

  FORUM HardWare.fr
  Programmation
  PHP

  RegEx : probleme de pattern

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

RegEx : probleme de pattern

n°1773243
jokaritaff
Posté le 14-08-2008 à 12:08:28  profilanswer
 

Bonjour  
dans un template HTML
j'ai des tags au format "{TAG}" que je remplace en PHP par des valeurs.
Ca rejoint un peu la manière deSmarty...
dans le meme principe dans un template XSL les tags sont au format "(TAG)"
car les accolades sont valides.
 
dans mon moteur de template afin d'uniformiser les délimiteurs, les ( ) doivent etre remplacés
par des { }.
Mais ca pose un probleme car je voudrais que ce remplacement ne se fasse que sur ce motif précis
afin d'éviter de remplacer les ( ) des fonctions javascript présentes dans les template
 
j'ai essayé quelque chose comme :
preg_replace("\([A-Z]\)", "\{[A-Z]\}", $templateString)
Résultat : le motif est trouvé, mais ca me remplace tous les TAGS par "([A-Z])" au lieu de la valeur prévue.
 
Voyez vous ce que je veux dire ?
Je suis pas tres a l'aise avec les regEx.
Comment je peux faire ?
 
merci


Message édité par jokaritaff le 14-08-2008 à 12:09:38
mood
Publicité
Posté le 14-08-2008 à 12:08:28  profilanswer
 

n°1773247
FlorentG
Posté le 14-08-2008 à 12:11:49  profilanswer
 

Dans le deuxième c'est $1 qu'il faut mettre à la place de [A-Z], pas la même chose [:prozac] Et capture le tag aussi
 
Genre :

Code :
  1. preg_replace('/\(([A-Z]*)\)/', '{$1}', $string)

n°1773252
jokaritaff
Posté le 14-08-2008 à 12:20:12  profilanswer
 

ben justement je me disais que ca serait bien de pouvori récupérer la valeur du motif qui a été trouvé : donc {$1}
merci
 
par contre ca uniformise bien, mais les () de mes fonctions Javascript sont  aussi remplacées...

n°1773253
FlorentG
Posté le 14-08-2008 à 12:21:55  profilanswer
 

Ouais là ça va être un peu plus galère. Mais de toute manière t'es pas censé avoir de JS dans la page, mais dans des fichiers séparés ;)

n°1773254
jokaritaff
Posté le 14-08-2008 à 12:22:55  profilanswer
 

ouep mais c pour du test rapide
 
Cependant meme hors test : ok pour mettre tout le JS dans un fichier séparé
mais pour appeler les fonctions Js depuis du HTML ou XSL comment je fais ?
utiliser uniquement des obj.addEventListener() ?

Message cité 1 fois
Message édité par jokaritaff le 14-08-2008 à 12:25:25
n°1773256
FlorentG
Posté le 14-08-2008 à 12:30:32  profilanswer
 

jokaritaff a écrit :

utiliser uniquement des obj.addEventListener() ?


Ouaip. Pourquoi ne séparer que la présentation du contenu (CSS/HTML) ? Pourquoi ne pas aussi séparer le comportement ? :)

n°1773262
jokaritaff
Posté le 14-08-2008 à 13:05:23  profilanswer
 

et bien c'est exactement ce que je compte faire a terme.
mais autant le faire tout de suite.
 
par contre j'ai un souci avec addEventListener :
si je fais un  
window.onload = document.getElementById(myobject.id).addEventListener('click', myFunction(), false)
dès le chargement de la page, myFunction() est executé alors qu'il n'ya eu aucun evenement 'onClick'....

n°1773278
FlorentG
Posté le 14-08-2008 à 14:13:29  profilanswer
 

onload doit être une fonction, pas un appel direct comme ça :

Code :
  1. window.onload = function() {
  2.   document.get....
  3. }


 
Et mieux, faut appeller un addListener sur window pour faire ça bien. Utilise une lib pour faire tout ça, genre jQuery, YUI, prototype, etc.

n°1773281
jokaritaff
Posté le 14-08-2008 à 14:23:21  profilanswer
 

ouais on va utiliser YUI comme lib JS.
ca sera plus simple et pus propre


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

  RegEx : probleme de pattern

 

Sujets relatifs
[JSF] probleme de navigation à travers une listeproblème avec shellexecute
Probleme de syntaxe phpProblème d'écriture de lien
[VBA] [EXCEL] Problème Collage Spécial - Transposéeproblème sur le dévelloppement pour mobile
Fonction include pose problème intégration phpbb2[JAVA]probleme export en xls (Servlet)OutputStream
probleme d' affichageprobleme avec preg_replace
Plus de sujets relatifs à : RegEx : probleme de pattern


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