Links ersetzen. RegEx

Da_Chris

Erfahrenes Mitglied
Hallo ich hab ein Script mit dem ich über meinen webspace auf andere seiten anzeigen lassen kann:
PHP:
<?php
$content = file_get_contents($_REQUEST["url"]);

$pattern  = ',href="(?!https?://|ftp://|mailto:|news:)([^>"\s]+)",i';
$replacement = 'href="'.$_REQUEST["url"].'\1"';
$content = preg_replace($pattern, $replacement, $content);

$pattern  = ',src="(?!https?://|ftp://|mailto:|news:)([^>"\s]+)",i';
$replacement = 'src="'.$_REQUEST["url"].'\1"';
$content = preg_replace($pattern, $replacement, $content);

$pattern  = ',<a([^>]+)href="([^>"\s]+)",i';
$replacement = '<a\1href="reloc.php?url=\2"';
$content = preg_replace($pattern, $replacement, $content);

echo $content;
?>

Leider hab ich immer noch das problem das nicht alle links und beziehungen korrekt umgesetzt werden:

Code:
<link rel="shortcut icon" href="./favicon.ico" />
wird zu:
Code:
<link rel="shortcut icon" href="http://domain.de/unterordner/./favicon.ico" />
sollte aber werden zu:
Code:
<link rel="shortcut icon" href="http://domain.de/favicon.ico" />

leider steh ich mit Regulären Ausdrücken auf dem schlauch weis wer rat?

also ich will alle relativen links und beziehungen in diesem quelltext zu absoluten umwandeln und links
 
Zuletzt bearbeitet:
Zurück