Problème parsage PHP

Nouveau WRInaute
Bonjour à tous et à toutes,

Actuellement en construction de 2 sites j'ai créer un module d'écriture de news,
Pour cela je créer un "bbcode" et j'enregistre dans la base de données... Jusque là aucun problème.
Enfin vient la conception de la page d'édition d'une news, je décide donc de reprendre mon "bbcode" et d'en inverser le fonctionnement.
Seulement voilà, j'utiise lightbox, et ma balise image se retrouve sous cette forme:
Code:
<a href="http[...]image.png" rel="lightbox" title="Description de l'image"><img src="http[...]image.png" alt="Texte alternatif" style="height: 75px;width: 75px;"/></a>

Et mes liens se retrouvent comme cela:
Code:
<a href="https://www.webrankinfo.com/">Web Rank Info</a>

Or voici mes REGEX:
Code:
$texte = preg_replace('`<a href="(.+)" rel="lightbox" title="(.+)"><img src="(.+)" alt="(.+)" style="height: 75px;width: 75px;"/></a>`isU', '&lt;img titre=&quot;$4&quot; description=&quot;$2&quot;&gt;$3&lt;/img&gt;', $texte);
$texte = preg_replace('`<a href="(.+)">(.+)</a>`isU', '&lt;lien url=&quot;$1&quot;&gt;$2&lt;/lien&gt;', $texte);

J'obtiens donc ceci:
<img src="https://www.webrankinfo.com/images/design/fd_footer.png" alt="WRI" style="height: 75px;width: 75px;"/>

Et là bah j'avoue bloqué >_<

Mes question:
  • Suis-je débile et mon erreur est toute simple ?
  • Suis obligé d'utilisé &lt; et &gt; dans le texte remplacé ?
  • Dois-je utiliser &lt; et &gt; dans le texte a remplacer ?
  • Euh... Pour le moment c'est tout

Merci par avance de votre aide et de votre compréhension :D
 
WRInaute passionné
pour matcher la plus petite chaîne il faut ajouter un ? derrière + ou * :
Code:
    $texte = preg_replace('`<a href="(.+?)" rel="lightbox" title="(.+?)"><img src="(.+?)" alt="(.+?)" style="height: 75px;width: 75px;"/></a>`isU', '&lt;img titre=&quot;$4&quot; description=&quot;$2&quot;&gt;$3&lt;/img&gt;', $texte);
    $texte = preg_replace('`<a href="(.+?)">(.+?)</a>`isU', '&lt;lien url=&quot;$1&quot;&gt;$2&lt;/lien&gt;', $texte);
c'est en plus plus rapide.
 
Nouveau WRInaute
Merci beaucoup pour ta réponse,

J'ai ajouté ? derrière tout mes +, pour le liens normaux ça marche toujours, mais pas les images.
Cependant, j'ai fait un test, en désactivant complètement les liens normaux ma balise image ne fonctionne toujours pas.

Donc elle doit avoir un problème 8O

Pourtant si je compare avec le code source généré c'est exactement le même :cry:
 
Discussions similaires
Haut