php Funktion:Urls auslesen

Sancheck

Legendäres Mitglied
Hallo,
wie wuerdet ihr am effizientesten eine Funktion schreiben die aus einem String saemtliche Urls herausliest, der String ist ein HTML Code,....

Freue mich ueber eure Ideen,...

dachte da irgendwie an den string tokenizer aber weis nu ned wie , es gibt sicher einen einzeiler
 
Aktuelle Loesung
CODE
<?
copy("http://www.dieadresse.com","test.txt");
$fp=fopen("test.txt","r");

while($line=fgets($fp,1024)) {
if ( preg_match("(/watch/[^ ]+/)", $line, $match) )
{
$url = $match[0];
} else {
echo "<font color=RED>nix</font><br>";
}
echo "<br>url:".$url;
}
fclose($fp);
?>



gibt den fehler:

Warning: copy(http://www.dieseitemiturls.com) [function.copy]: failed to open stream: Redirection limit reached, aborting in /home/www/web333/html/kxxxxneu/index.php on line 2

Warning: fopen(test.txt) [function.fopen]: failed to open stream: No such file or directory in /home/www/web333/html/komexaneu/index.php on line 3

Warning: fgets(): supplied argument is not a valid stream resource in /home/www/web333/html/kxxxxxneu/index.php on line 5

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web333/html/kxxxxneu/index.php on line 14
 
QUOTE (Sancheck @ So 30.03.2008, 22:31) Aktuelle Loesung

CODE
<?
copy("http://www.dieadresse.com","test.txt");
$fp=fopen("test.txt","r");

while($line=fgets($fp,1024)) {
  if ( preg_match("(/watch/[^ ]+/)", $line, $match) )
 {
  $url = $match[0];
 } else {
  echo "<font color=RED>nix</font><br>";
 }
echo "<br>url:".$url;
}
fclose($fp);
?>



gibt den fehler:

Warning: copy(http://www.dieseitemiturls.com) [function.copy]: failed to open stream: Redirection limit reached, aborting in /home/www/web333/html/kxxxxneu/index.php on line 2

Warning: fopen(test.txt) [function.fopen]: failed to open stream: No such file or directory in /home/www/web333/html/komexaneu/index.php on line 3

Warning: fgets(): supplied argument is not a valid stream resource in /home/www/web333/html/kxxxxxneu/index.php on line 5

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web333/html/kxxxxneu/index.php on line 14

Du bist nicht fähig die Fehler auszuwerten und bietest aber gleichzeitig Deine Arbeit als PHP-Coder an?

...
 
Nene daran liegts ja nicht.
Man koennte ja, beim Fehler "Redirection limit" auf eine Art 404 Filenotfound tippen
aber die url existiert ja,...KA, oversized und deswegen timeout vl.
 
ich will ja nicht klugscheissern, aber ist nicht auch die regexp falsch? auch wenn das nicht diesen fehler hervorruft.... das kann doch vorne und hinten nicht stimmen... limiter in der klammer und ein 3. limiter im regexp
 
redirection count => anzahl der redirects. ist wohl die schlechteste methode, content einer url zu beziehen. schau dir mal file_put_contents, file_get_contents an.
 
Zurück
Oben