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

  FORUM HardWare.fr
  Programmation
  PHP

  regexp :trouver les balises et meme celles avec des balises PHP dedans

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

regexp :trouver les balises et meme celles avec des balises PHP dedans

n°1098859
phenxdesig​n
Posté le 26-05-2005 à 22:28:06  profilanswer
 

Bonjour je cherche une expression qui trouve les balises HTML avec des balises PHP dedans comme ceci :

Code :
  1. <a href="<?php echo "?page=formations&lang=$lang"; ?>" >


 
donc ça doit me renvoyer cette chaine ci dessus ...
j'arrive a trouver les balises sans PHP dedans mais c'est tout :(
grace à ceci :

Code :
  1. <[^>]+>


 
voila, j'ai regardé la doc des regexp, mais j'arrive pas a my faire, si quelquun peut maider ...
merci !! :jap:
 
edit :
en fait mon but c'est de prendre un page HTML avec du PHP pas compilée, et de pouvoir editer le texte entre les balises sans toucher aux balises ...
j'ai pensé a faire deux tableaux grace a split() : un tableau avec les balises, et lautre avec les textes ...
ça marche tres bien quand il n'y a pas de balise php dans celles html ...


Message édité par phenxdesign le 26-05-2005 à 22:43:04
mood
Publicité
Posté le 26-05-2005 à 22:28:06  profilanswer
 

n°1098954
FlorentG
Posté le 27-05-2005 à 00:12:10  profilanswer
 

Elles sont XHTML valid tes pages ? [:dawa]

n°1099018
soju
One shot !
Posté le 27-05-2005 à 08:52:13  profilanswer
 

pourquoi ne pas recup juste les balise php ? avec une regexp du genre :

<\?php(.*)\?>

n°1099034
phenxdesig​n
Posté le 27-05-2005 à 09:15:51  profilanswer
 

FlorentG a écrit :

Elles sont XHTML valid tes pages ? [:dawa]


non, mais c'est pas le probleme  :pt1cable:

n°1099036
phenxdesig​n
Posté le 27-05-2005 à 09:17:48  profilanswer
 

soju a écrit :

pourquoi ne pas recup juste les balise php ? avec une regexp du genre :

<\?php(.*)\?>



ben non, jutement, je peux pas ...
mais il me faudrait une regexp qui fait en fait :
"Toutes les chaines qui commencent avec un < , qui peuvent contenir <? ou ?> mais pas > et qui finissent par > "

n°1099071
FlorentG
Posté le 27-05-2005 à 09:42:35  profilanswer
 

phenxdesign a écrit :

non, mais c'est pas le probleme  :pt1cable:


Si justement :o Si tes pages auraient été valides, ça aurait été fait en 10 secondes avec des fonctions DOM :o Voilà pourquoi c'est important d'être valide ;)

n°1099088
phenxdesig​n
Posté le 27-05-2005 à 09:52:38  profilanswer
 

hum, quel est le rapport ? tu peux m'expliquer ce que sont les fonctions DOM ?
parce que c'est bien sur des pages non compilées que je travaille pour faire ce que je veux faire ...

n°1099095
FlorentG
Posté le 27-05-2005 à 09:55:49  profilanswer
 

En gros, ça te permetterais de faire ça :

$page = domxml_open_file('page.html');
 
$h2_list = $page->get_element_by_tagname('h2');
h2[0].setContent('Titre machin bidule');
 
$page->dump_file('page.html');


Et fini, tu viens de mettre 'Titre machin bidule' dans le premier h2 de la page, et c'est sauvegardé :sol:

n°1099103
phenxdesig​n
Posté le 27-05-2005 à 09:59:55  profilanswer
 

FlorentG a écrit :

En gros, ça te permetterais de faire ça :

$page = domxml_open_file('page.html');
 
$h2_list = $page->get_element_by_tagname('h2');
h2[0].setContent('Titre machin bidule');
 
$page->dump_file('page.html');


Et fini, tu viens de mettre 'Titre machin bidule' dans le premier h2 de la page, et c'est sauvegardé :sol:


hou punaize !! ça a l'air d'etre bien, mais c'est pas du tout ce que je veux faire :D
bon sang, ya pas un moyen de faire ce que je veux faire avec une regexp ?

n°1099104
FlorentG
Posté le 27-05-2005 à 10:00:34  profilanswer
 

C'est quoi que tu veux faire précisément ?

mood
Publicité
Posté le 27-05-2005 à 10:00:34  profilanswer
 

n°1099112
phenxdesig​n
Posté le 27-05-2005 à 10:03:46  profilanswer
 

Premier post :o
c'est pas clair ?  :whistle:

n°1099117
phenxdesig​n
Posté le 27-05-2005 à 10:05:34  profilanswer
 

en fait je dois traduire des pages html (d'ailleurs pas entierement html, vu qu'elles n'ont que le body) mais ce n'est pas moi qui vais les traduire, c'est quelqu'un qui n'y connais  rien en info (donc html) et donc elle ne doit pas modifier les balises (ni meme les voir)

n°1099127
soju
One shot !
Posté le 27-05-2005 à 10:11:51  profilanswer
 

phenxdesign a écrit :

"Toutes les chaines qui commencent avec un < , qui peuvent contenir <? ou ?> mais pas > et qui finissent par > "


un truc du genre :

#<(?!\?)(.*)(?<!\?)>#Us


?  

n°1099138
phenxdesig​n
Posté le 27-05-2005 à 10:16:08  profilanswer
 

hum surement ... Merci !! mais peux tu m'expliquer comment elle fonctionne ?
la chaine commence par < mais pas par <? et finit par > mais pas par ?> , c'est ça ?
a quoi sert le Us ? et les dieses ?
mais aussi, je veux que ça retourne aussi les balises PHP qui ne sont pas a l'interieur de balises HTML


Message édité par phenxdesign le 27-05-2005 à 10:16:27
n°1099140
soju
One shot !
Posté le 27-05-2005 à 10:18:38  profilanswer
 

phenxdesign a écrit :

la chaine commence par < mais pas par <? et finit par > mais pas par ?> , c'est ça ?
a quoi sert le Us ? et les dieses ?

oui
http://fr.php.net/manual/fr/refere [...] syntax.php
 

phenxdesign a écrit :

mais aussi, je veux que ça retourne aussi les balises PHP qui ne sont pas a l'interieur de balises HTML

donc pourquoi ne pas recupérer seulement les balises php ?

n°1099144
phenxdesig​n
Posté le 27-05-2005 à 10:21:06  profilanswer
 

parce que je veux faire un formulaire qui ne permet que de modifier le texte, mas les balises PHP ni HTML ...
en fait, ma premiere regexp fonctionne, mais seulement quand on n'a pas de balises PHP dans des balises html, comme dans mon exemple ...

n°1099146
phenxdesig​n
Posté le 27-05-2005 à 10:22:11  profilanswer
 

(merci pour la doc PHP, je l'ai deja en .chm :))

n°1099155
soju
One shot !
Posté le 27-05-2005 à 10:25:33  profilanswer
 

et par exemple pour les trucs du genre  

Code :
  1. <b>texte à traduire</b>


tu fais quoi ? car le texte n'est pas dans le tag

n°1099164
phenxdesig​n
Posté le 27-05-2005 à 10:31:27  profilanswer
 

ben je trouve une balise <b> et une balise </b> separées ... comme ça je peux traduire le texte, tout ce qui n'es pas entre < et > en fait

n°1100035
phenxdesig​n
Posté le 27-05-2005 à 20:18:13  profilanswer
 

j'ai telechargé le logiciel Regex Coach, il est bien, mais j'ai toujours pas trouvé :(

n°1101434
phenxdesig​n
Posté le 30-05-2005 à 11:19:11  profilanswer
 

en fait je voudrais trouver comme on dit "ne contient pas > ni ?>" ou " ne se termine pas par ?> mais > "

n°1103721
phenxdesig​n
Posté le 01-06-2005 à 09:51:18  profilanswer
 

Je n'ai toujours pas trouvé, mis j'ai pensé a un truc : si je remplacais les <? et les ?> qu'il y a dans les balises HTML par [? et ?] , ça irait, il suffirait alor de les remettre apres...
Mais comment faire ? j'ai cherché, mais les regexp, c'est pas facile, merci de maider :( :jap:

mood
Publicité
Posté le   profilanswer
 


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

  regexp :trouver les balises et meme celles avec des balises PHP dedans

 

Sujets relatifs
Probleme de lien en PHPWord & Easy-PHP 1.8 ?
probleme XML avec PHP DOMXMLProbleme sur les sessions PHP
PHP-MySQL sous Dream: afficher région répétée en colonnesDemande de conseil sur Curl et PHP
[résolu][PHP/JS] Formulaire avec input name="nom[]"[Resolu] Récupérer le mois à partir du numero de semaine
Question sur PHP/Flash MXRecrute programmeur PHP
Plus de sujets relatifs à : regexp :trouver les balises et meme celles avec des balises PHP dedans


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