J'ai une chaîne de texte qui contient html avec tous les différents types de liens (relatif, absolu, relatif à la racine). J'ai besoin d'une regex qui peut être exécutée par preg_replace
de PHP pour remplacer tous les liens relatifs avec des liens relatifs à la racine, sans toucher aucun des autres liens. J'ai déjà le chemin racine.Regex pour remplacer le lien relatif par le lien relatif racine
liens REMPLACÉ:
<tag ... href="path/to_file.ext" ... > ---> <tag ... href="/basepath/path/to_file.ext" ... >
<tag ... href="path/to_file.ext" ... /> ---> <tag ... href="/basepath/path/to_file.ext" ... />
liens Untouched:
<tag ... href="/any/path" ... >
<tag ... href="/any/path" ... />
<tag ... href="protocol://domain.com/any/path" ... >
<tag ... href="protocol://domain.com/any/path" ... />
Doit-il être regex? L'utilisation d'une classe DOM pourrait permettre des résultats beaucoup plus précis. – webbiedave
Il doit s'agir d'une regex car je n'ai aucune assurance que DOM sera suffisamment valide pour que tout lecteur DOM basique puisse être correctement analysé. –