[PHP]help regexp pr transformer html en xhtml

help regexp pr transformer html en xhtml [PHP] - PHP - Programmation

Marsh Posté le 18-09-2002 à 14:18:35    

bon voila, je voudrais transformer '<img src="machin.gif">' en '<img src="machin.gif />' mais je sais pas du tout comment m'y prendre, g bcp reflechit, et g pas trouve
 
alors help plize!! :)

Reply

Marsh Posté le 18-09-2002 à 14:18:35   

Reply

Marsh Posté le 18-09-2002 à 15:01:01    

'<img src="machin.gif">' se divisent en plusieurs parties :
'<' qui délimite le début de la balise
'img' qui indique le type de balise
'src' qui indique qu'on lui donne l'adresse de l'image
'=' qui indique qu'on affecte une valeur à l'adresse de la balise
'"machin.gif"' qui donne l'adresse elle même avec le délimiteur qui permet au système de savoir comment est fait l'adresse
'>' qui referme la balise
 
Pour que ca fonctionne quelque soit els balises il faut :
que la regexp définis un début commencant par '<' et une fin égale à '>'.
Dans ta regexp, il peut y avoir un nombre de parties délimité par des '"' variables.
Dans ces parties là, il ne peut pas y avoir de '"' qui ne soient pas précédé par des '\'
En dehors de ces parties là, il ne peut y avoir de '>'.
 
Voilà les règles que doit décrire ta regexp si tu voulais que ca réagisse à toute les balises. Dans le cas présent, c'est pas sufisant. Je te mets dessous toutes les bonnes régles mises dans l'ordre :
1) commence par '<'
2) peut contenir des 'espace' et autres caractères du genre
3) contient une chaine de caractère définissant la balise (donc mettre un choix des chaines de caractères)
4) suivit d'un caractère de séparation ou du '>' (ca serait alors la fin de ta regexp)
5) peut contenir zéro, une ou plusieurs parties composé comme suit :
  - début n'importe quel caractère sauf '>' (n'importe quel nombre de fois)
  - suivit d'un '"'
  - suivit d'une chaine comprenant n'importe quel caractère sauf '"' a moins que le '"' soit précédé d'un '\'
  - suivit d'un autre '"'
6) ce finis par '>'
 
Attention, si ca ce finis par /> Il faut pas prendre la balise (elle est déjà comme tu veux).
 
Je ne sais pas te construire ta regexp (et surtout, j'ai pas envie de me prendre la tête dessus) comme tu demandes mais avec ça et un bon tutorial, tu devrais pouvoir le faire.

Reply

Marsh Posté le 18-09-2002 à 15:02:05    

bon ok c tres sympa de ta part, je vais essayer ! :jap:

Reply

Marsh Posté le 18-09-2002 à 15:07:00    

--stan-- a écrit a écrit :

bon ok c tres sympa de ta part, je vais essayer ! :jap:  



J'ai oublié de dire, entre le 5) et le 6) il peut y avoir des caractères autre qu'un '"' ou un '>'. ;)


Message édité par omega2 le 18-09-2002 à 15:07:24
Reply

Marsh Posté le 18-09-2002 à 15:30:25    

je dois pas etre tres doue pr les regexp: j'y arrive pas  :(

Reply

Marsh Posté le 18-09-2002 à 15:38:25    

--stan-- a écrit a écrit :

je dois pas etre tres doue pr les regexp: j'y arrive pas  :(  



Moi non plus je susi aps doué pour tout ça.
Essayes de regarder dans les discutions sur les regexp posté dans cette section du forum.
J'ai vu passé un lien vers un très bon tutorial mais je me rapelles plus son adresse.

Reply

Marsh Posté le 18-09-2002 à 15:44:33    

omega2 a écrit a écrit :

Moi non plus je susi aps doué pour tout ça.
Essayes de regarder dans les discutions sur les regexp posté dans cette section du forum.
J'ai vu passé un lien vers un très bon tutorial mais je me rapelles plus son adresse.




 
il est passe pr ou ce lien ? :D

Reply

Marsh Posté le 18-09-2002 à 15:48:28    

--stan-- a écrit a écrit :

 
 
il est passe pr ou ce lien ? :D  



Il est passé apr ici (le forum) puis par là (mon navigateur) mais surtout, il a élu domicile au milieu d'une discution de ce forum. ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed