remplacer un href par preg_replace

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : remplacer un href par preg_replace

Re: remplacer un href par preg_replace

par Clafooty » 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;

Re: remplacer un href par preg_replace

par sablito » 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??

Re: remplacer un href par preg_replace

par moogli » 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.


@+

remplacer un href par preg_replace

par sablito » 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