Bonjour,
J'ai un texte avec des balises de formatage spécial qui devrait être transformée en xhtml :
J'ai donc fait un expression rationnelle qui me sort toutes ces balises et leur contenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Mon texte en %g*gras*% et un une taille de %s=18pt*18pt*%. Un texte en %i*italique*% et un en %ig*gras et itatlique*%. Voici un %l=http://www.debian.org/*lien vers debian*%
Cette expression fonctionne très bien, sauf dans le cas de balise imbriquée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_match_all("/%[a-z]+(=.*)?\*.*\*%/U", $text, $result)
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part Un texte en %c=30pt*%i*de 30pt et italique*%*%
Ce que j'ai pensé faire, c'est d'abord prendre tous les couples de balises intérieures et répéter ça jusqu'aux balises extérieures avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part Un texte en %c=30pt* %i*de 30pt et italique*% *%
Mais ce code va me trouver :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while(preg_match_all("/%[a-z]+(=.*)?\*.*\*%/U", $text, $result)) { /* Code */ }
Alors que j'aimerais trouver :
Code : Sélectionner tout - Visualiser dans une fenêtre à part %c=30pt* %i*de 30pt et italique*%
et ensuite
Code : Sélectionner tout - Visualiser dans une fenêtre à part %i*de 30pt et italique*%
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part %c=30pt*<span style="font-style: italic;">de 30pt et italique</span> *%
Partager