Bonjour à tous,
Je voudrais scanner les URL d'un string UTF8, et ceux qui pointent vers un PDF, ajouter une petit icône PDF ( une icone ZIP pour les ZIP, et une icône extérieur pour les autres).
Pour ça, j'ai écris ces expressions régulière :
Code :
- //ajout de l'icône PDF pour les PDF :
- $contenuARetraiter = mb_ereg_replace ('(<a href=" )(.*)(\.pdf"> ){1}(.*)(</a> )', '\1\2\3\4\5 <img src="images/pdf.gif"/>', $contenuARetraiter);
- //ajout de l'icône ZIP pour les ZIP :
- $contenuARetraiter = mb_ereg_replace ('(<a href=" )(.*)(\.zip"> )(.*)(</a> )', '\1\2\3\4\5 <img src="images/icone_zip.gif"/>', $contenuARetraiter);
|
Mais ça se comporte bizzarement.
J'ai mis dans le string la chaine suivante :
Code :
- <a href="http://127.0.0.1/myca/test/article_print.ajax.php">http://127.0.0.1/myca/test/article_print.ajax.php</a>
- <a href="http://127.0.0.1/myca/test/article_print.ajax.pdf">http://127.0.0.1/myca/test/article_print.ajax.pdf</a>
- <a href="http://127.0.0.1/myca/test/article_print.ajax.zip">http://127.0.0.1/myca/test/article_print.ajax.zip</a>
- <a href="http://127.0.0.1/myca/test/article_print.ajax.pdf">http://127.0.0.1/myca/test/article_print.ajax.pdf</a>
|
et l'application du code ci-dessus donne ça en retour :
Code :
- <a href="http://127.0.0.1/myca/test/article_print.ajax.php">http://127.0.0.1/myca/test/article_print.ajax.php</a>
- <a href="http://127.0.0.1/myca/test/article_print.ajax.pdf">http://127.0.0.1/myca/test/article_print.ajax.pdf</a>
- <a href="http://127.0.0.1/myca/test/article_print.ajax.zip">http://127.0.0.1/myca/test/article_print.ajax.zip</a>
- <a href="http://127.0.0.1/myca/test/article_print.ajax.pdf">http://127.0.0.1/myca/test/article_print.ajax.pdf</a> <img src="images/icone_zip.gif"> <img src="images/pdf.gif">
|
Il y a quelque chose qui l'empêche de capturer le 1er PDF. Je pense que l'expression régulière trouve le début du <a href de la première ligne, et le pdf de la quatrième.
Vous auriez une idée de comment lui faire comprendre ?