Expression reguliére sur href
Bonjour,
Voila mon probléme, j'ai du texte provenant d'un bdd qui contient des lien et je voudrais pouvoir ajouter un paramètre a c'est lien.
Exemple
Citation:
Ce que j'ai en bdd : mon texte bllalblbb <a href="monlien.html">mon premier lien</a> blouifdf ouuidfd <a href="http://monlien.html">mon second lien</a> fgfgfgfgfgfg
Citation:
Ce que je voudrai après la regex : mon texte bllalblbb <a href="monlien.html?param=1">mon premier lien</a> blouifdf ouuidfd <a href="http://monlien.html?param=2">mon second lien</a> fgfgfgfgfgfg
Sachant que parfois dans l'url il peut y a voir un target blank et que si le href est vide ou contient un # il faut pas rajouter le paramétre.
Moi j'ai trouvé cette expression mais elle fait le contraire de ce que je veux.
Code:
1 2 3 4
| $string = '<a href="test.html">sdsdsd</a>';
$pattern = '`<a href=["\'#]?([^"\'#>]+)["\'#]?>`';
$replacement = '${1}?param=1';
echo preg_replace($pattern, $replacement, $string); |
Si vous avez une idée merci a vous.