J'ai un peu de HTML de base que j'appelle str_replace()
, j'ai besoin d'ajouter toutes les URL trouvées dans une chaîne HTML avec un 'generate_book.php?link=
', mais j'ai besoin d'exclure les liens externes, par exemple;Qu'est-ce qu'une regex PHP pour cibler certaines URL?
<a href="gst/3.html">Link</a>
- cela devrait devenir - <a href="generate_book.php?link=gst/3.html"></a>
<a href="http://example.com">Link</a>
- cela devrait être laissé seul
Votre powa cerveau est apprécié!
Ok, j'ai essayé toutes les suggestions sur cette page, mais elles génèrent toutes des erreurs. Le vôtre semble générer le moins avec: Avertissement: preg_replace() [function.preg-replace]: Modificateur inconnu '/' dans C: \ wamp \ www \ projets \ kineo \ taxteam \ [CD_COURSE] GCSB (Central) \ htdocs \ book \ generate_book.php on line 64 – danjah
Oups, remplacez les deux '//' après le http/https avec '\/\ /' Je n'utilisais pas PHP pour tester l'expression régulière, donc je n'ai pas eu à leur échapper. – Nicole
Cela fonctionne très bien pour moi, merci, je ne voulais pas effrayer quiconque avec le contexte dans lequel je l'utilise, mais c'est pour un paquet Server2Go gravé sur CDROM donc il y a très peu de danger, juste des liens brisés:) – danjah