Bestimmten Wert auslesen (Bsp. dabei)

x3008x

Mitglied
Abend Jungs&Mädels ;)
Ich würde gerne aus einem kompletten banner nur die url an sich auslesen und später irgendwo einfügen....
Ähnlich wie das hier (nur umgekehrt^^):
PHP:
$string = "<a href='http://blaaaaaaaah.de' target='_blank'>blah</a>";
$newlink = "javascript:link2();";
$newstring = preg_replace("/(<a href=')(.*)(' target)/is", "\\1".$newlink."\\3", $string); 
echo $newstring;
Also so dass der newstring nur die url enthält.... ich denke ihr wisst was ich meine :)

Danke schonmal
 
PHP:
<?php
preg_match('%<a href=\'(http://[\.-0-9a-z]*)\'[^>]*>(.*)</a>%Uis', $string, $hits);
$newlink = $hits[1];
echo "<a href=\"{$hits[1]}\">{$hits[2]}</a>";
// ergäbe: <a href="http://blaaaaaaaah.de">blah</a>
?>

Nen schöner Regex ist doch viel schöner und schneller als nen Replacement an dieser Stelle, oder muss es ersetzt werden? Ansonsten einfach den Regex übertragen und die Trefferreferenzen umschreiben.
 
Zuletzt bearbeitet:
das mit dem replace sollte nur ein beispiel sein ;)
in diesem fall brauche ich den wert nur um ihn wieder zugeben...
aber ich probier das mal... das andere was du jetzt gesagt hast kann ich im moment nichts anfangen müsste ich ein bisschen mit "rumspielen" aber ich denke das erste wird reichen ;)

auf jeden fall schonmal danke! ich meld mich dann nochmal
 
Hmmm toll....
Jetzt weiß ich aber nicht wie man davor oder besser danach nen platzhalter einbaut oO
Das ist alles noch zu undurchsichtig für mich sry
Also ich will bei folgenden href code:
HTML:
<a href='http://www.blah.de'><img src='http://irgendeinbild.de/bild.jpg'></a>
Von da will ich nur "http://www.blah.de haben... also als String...
So dass ich beispielsweise einen neuen Link mit href=$blah erstellen kann, der also dann dementsprechen auf blah.de verweist....
Ich denke jetzt weißt du genau was ich will :)
Danke auf jeden Fall!
 
PHP:
<?php
preg_match('&<a href="http://([^/]+?)([^"]*)"[^>]*>.*</a>&Uis', $string, $hits);
// $neuerlink = "http://{$hits[1]}{$hits[2]}";
// $linkbezeichnung = "{$hits[1]}";
echo "<a href=\"http://{$hits[1]}{$hits[2]}\">{$hits[1]}</a>";

Hoffe, du meintest es so ^^ Ist nicht der idealste Regex, aber erfüllt, denk ich mal, all deine Wünsche.
 
PHP:
$string = "<a href='http://www.blah.de'><img src='http://irgendeinbild.de/bild.jpg'></a>";
preg_match('&<a href="http://([^/]+?)([^"]*)"[^>]*>.*</a>&Uis', $string, $hits);
echo "<a href=\"http://{$hits[1]}{$hits[2]}\">{$hits[1]}</a>";
klappt leider nicht :(
aber das <a href brauche ich auch garnicht ;)
ich brauch nur das ttp://....... einfach als Text das reicht....
Also so:
<a href='($start)ttp://www.blah.de($ende)'><img src='http://irgendeinbild.de/bild.jpg'></a>
Also vor und hinter dem Link/Bild sind noch Kommentare... die müssen mit in den String sonst wärs zuviel arbeit
Also muss man ja irgendwie "sagen" Suche zwischen href=' und '>
 
Zuletzt bearbeitet:
Zurück