Suchen und Textteil kopieren

ICPUI

Mitglied
Hi all
Ich möchte das der Quelltext einer Seite nach dem Begriff
Code:
href="URL"
oder
Code:
href=URL
durchsucht wird. Danach brauche ich das was anstelle von URL steht.
Welche Funktion eigenet sich dafür gut ?

Thx schon jetzt
ICPUI
 
So jetzt habe ich mal das hier gebastelt. Aber es geht ned:

PHP:
preg_match('/(href\=)*(")/i', $quelltext, $treffer);


Bitte um hilfe
 
Hallo,

ich hab von http://www.codeschnipsel.net etwas gefunden was dir weiter helfen könnte!

PHP:
<?php
   function AutoVerlinkung ($msg) {
     // http
     $msg = str_replace("http://www.","www.",$msg);
     $msg = str_replace("www.","http://www.",$msg);
     $msg = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<A TARGET=\"_blank\" HREF=\"$1\">$1</A>", $msg);

     // mail
      $msg = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<A HREF=\"mailto:$1\">$1</A>",$msg);
      return $msg;
   }

   $demo = "www.meineurl.de oder http://www.meineurl.de oder meine@email.de";
  $demoVerlinkt = AutoVerlinkung($demo);
  echo "<p>aus: <b>".$demo."</b></p>";
  echo "<p>wird: <b>".$demoVerlinkt."</b></p>";
?>


Edit: Ich glaub du suchst doch etwas anderes sry!
 
Zuletzt bearbeitet:
PHP:
preg_match("/href=([\"']?)([^\1]+)\1/i", $quelltext, $treffer);
echo $treffer[0];

So hab ichs jetzt und geht trotzdem ned
 
Füge mal den Modifier s hinzu, dieser sorgt dafür das der String als eine Zeile interpretiert wird und ich gehe mal von aus, das du mehre Zeilen in deinem Quelltext hast.
 
PHP:
preg_match("/href=([\"']?)([^\1]+)\1/is", $quelltext, $treffer);
echo $treffer[0];

Noch immer nix ... :(
Trotzdem thx
 
Hallo,

Füge mal den Modifier s hinzu, dieser sorgt dafür das der String als eine Zeile interpretiert wird und ich gehe mal von aus, das du mehre Zeilen in deinem Quelltext hast.
Der Modifikator s bewirkt nur, dass das Metazeichen . auch Zeilenumbruchzeichen einschließt. Da in diesem Muster dieses Metazeichen nicht vorkommt, hat er in diesem Fall keine Wirkung.

Das Problem liegt hier vielmehr bei der fehlenden Maskierung der Backslashes. So sähe ein semantisch korrekter Funktionsaufruf aus:
PHP:
preg_match("/href=([\"']?)([^\\1]+)\\1/i", $quelltext, $treffer)
Alternativ:
PHP:
preg_match('/href=(["\']?)([^\1]+)\1/i', $quelltext, $treffer)

Grüße,
Matthias
 
Zurück