Bonjour,
J'ai un code Xhtml de la forme :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <html> <body> <toto:addition b="5" a="7"/> <toto:hello_world name="people"/> </body> </html>
Ce que j'aimerai faire, c'est une fonction qui parse le contenu Xhtml de la page.
Lorsqu'il rencontre un tag de la forme <totoxx /> il exécute la fonction xxx( ). Il remplace le tag par ce que retourne la fonction. Si le tag <toto
xx /> posséde des attributs alors, on a un tableau associatif de la forme
ILLUSTRATION :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 tab['param1']='valeur1'; tab['param2']='valeur2';
- Avec : <toto:hello_world name="Mr. Bob"/>
On fait appelle a la fonction suivante :
Conclusion : Ce tag <toto:hello_world name="Mr. Bob"/> sera remplacé par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function hello_world(args){ var default = new Array(); default['name'] = ''; extract(array_merge(default,args)); if(name=='') name = 'world'; return 'Hello '+name+' !'; }
"Hello Mr. Bob !
Avec le tag : <toto:addition b="5" a="7"/>
Conclusion ce tag : <toto:addition b="5" a="7"/> sera remplacé par 12
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function addition(args){ var default = new Array(); default['a'] = 0; default['b'] = 0; extract(array_merge(default,args)); return a+b; }
ce tag : <toto:addition a="7" b="5"/> sera remplacé par 12
ce tag : <toto:addition b="5"/> sera remplacé par 5 (car a n'étant pas définit on prendra la valeur par défaut à savoir 0).
Partager