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ü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.