Einzelnen Beitrag anzeigen

quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] regular Expressions

  Alt 4. Jun 2008, 14:49
Hallo Community.

Ich benutze in der Schule ein Skript, welches den Proxy umgeht, indem es über den Server, welcher getunnelt wird, die Seiten aus dem Netz lädt.

Code:
<?php
error_reporting(E_ALL);


if (!(empty($_GET['url'])))
{
   if (isset($_GET['google']) && $_GET['google']=='on')
   {
         $url='http://www.google.de/search?q='.urlencode($_GET['url']);
   }
   elseif(eregi('http://',$_GET['url']))
   {
      $url=$_GET['url'];
   }
   else
   {
      $url='http://'.$_GET['url'];
   }

echo "[url='index.php']zur&uuml;ck zur URL-Eingabe[/url]

";

$con=file($url);
[i]for($i=0;$i<=sizeof($con)-1;$i++)
{
   $pattern='/<a[.*]href/i';
   $str=preg_replace($pattern, $url, $con[$i]);
   echo $str;[/i]
}
}
?>
Das Problem ist nur, das ich derzeitig alle Links kopieren muss, und sie erneut über das Skript aufrufen. Da hatte ich mir gedacht:
Durchsuche doch einfach den Quelltext nach den Links und ändere sie so um, das andauernd mein Skript mit dem neuen Link aufgerufen wird.
Einzigstes Problem: Vielfalt.

Die Tags können unterschiedlich ausfallen.
Sie href können von einem ["|'] gefolgt werden, oder von gar nichts (keine Hochkommas).
Sie können absolut oder relativ sein. Auch darin unterscheiden sie sich nochmal.
http://, http://www., /index.php, ?search=... usw.

Wie kann ich genau diese Vielfalt per regular Expressions darstellen? Ich habe für direkt mein Anliegen nichts in Google gefunden, jedoch eine Menge Tutorials, welche allerding nicht die Komplexität meines Anliegens deutlich genug für einen unbeübten RegExpr.-Anwender wie mich erläutern

Danke im Vorraus
und Grüße aus Dresden
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat