RegEx: Links ersetzen

overreaction

Grünschnabel
Hallo Leute!

habe ein kleines Problemchen. Ich möchte gerne Links, die in irgendeinem Stück code vorkommen automatisch ersetzen lassen. Und zwar folgendermassen:

Link normal:
HTML:
<a href="http://www.google.de/>http://www.google.de/</a>

und Link nachher:
HTML:
<a href="link.php?url=http://www.google.de/>http://www.google.de/</a>

Wie man im Beispiel erkennt soll sich dabei nur die URL ändern und nicht der Linkname.

Danke im voraus für eure Unterstützung!
 
:rolleyes: habs damit ebenfalls (erfolglos) probiert.
Weiss nicht wie ich hinkriegen soll, dass er mir das google.de nach dem http://www. verwendet.... und ich hab auch nicht hingekriegt dass nur externe links ersetzt werden....
 
Hallo overreaction,

soyo hat dir ja schon den richtigen
Ansatz geliefert. Hm, das dies erfolglos
geblieben ist kann ich mir nicht vorstellen,
falls ich dich richtig verstanden habe.


Script Beispiel:
PHP:
$string="<a href='http://www.google.de'>http://www.google.de</a><br>";
echo $string;
echo ereg_replace("href='http://","href='link.php?url=http://",$string);


mfg,
blount
 
hmm ... mein fehler, mal wieder :(

PHP:
<?php
  
  $sUrl = "www.google.de";

  echo ereg_replace("(http://www.*.*)","link.php?url=\\1",$sUrl); 

?>
 
Zuletzt bearbeitet:
ja wusste ich, von daher hab ich das fehlende w in den suchkriterien hinzugefügt und eben mein beitrag geändert, aber da warst du schon anscheinend am testen ;)
 
Hier auch noch mal ein Versuch ;) mit Syntaxprüfung.

PHP:
$url = '<a href="http://www.google.de">http://www.google.de/</a>';
$nurl = preg_replace('!(http://([a-z0-9]+\.)+[a-z]{2,6}(/?[a-z0-9]+)*/?)!','link.php?url=$1',$url,1);
 
Zuletzt bearbeitet:
Zurück