remplacer un href par preg_replace

Petit nouveau ! | 6 Messages

31 janv. 2012, 11:13

Bonjour,
J'ai le code suivant : <a href="site/nous-contacter">Contact</a>
Je veux remplacer le "site/nous-contacter" par "#contact".
Comment je dois faire ?
$text="<a href="site/nous-contacter">Contact</a>"

$text = preg_replace('|(<a\s*[^>]*href=[\'"])|','#contact', $texte);
et ca marche pas!
merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

31 janv. 2012, 11:59

Salut,

Vu qu'à priori le texte change pas utilise plutôt str_replace, c'est plus simple et plus rapide.


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

31 janv. 2012, 13:11

merci de votre réponse :)

j'ai un autre souci, j'ai un string de ce forme: "<br><a href="index.php title="TITRE">text</a>"

moi ce que j'essaye d'avoir, c'est ce qui est écrit dans title="", dans ce cas TITRE.

comment faire??

Petit nouveau ! | 2 Messages

31 janv. 2012, 17:56

le preg_match si tu veux pas faire de substring à l'arrache...
$var = "<br><a href=\"index.php title=\"TITRE\">text</a>";
preg_match("^<a href=.* title=\"(.*)\">.*\<\/a>^",$var,$matches);
$resultat = $matches[1];
echo $resultat;