Это может быть достигнуто с помощью:
<?php
$input = file_get_contents('http://stats.pingdom.com/qmwwuwoz2b71/522741');
$domain = 'http://stats.pingdom.com/';
$rep['/href="(?!https?:\/\/)(?!data:)(?!#)/'] = 'href="'.$domain;
$rep['/src="(?!https?:\/\/)(?!data:)(?!#)/'] = 'src="'.$domain;
$rep['/@import[\n+\s+]"\//'] = '@import "'.$domain;
$rep['/@import[\n+\s+]"\./'] = '@import "'.$domain;
$output = preg_replace(
array_keys($rep),
array_values($rep),
$input
);
echo $output;
?>
Который будет выводить ссылки следующим образом:
/ * то 1007 *
станет,
http://stats.pingdom.com//something
И
.. / * то 1020 *
станет,
http://stats.pingdom.com/../something
Но он не будет редактировать "data: image / png;" или якорные теги.
Я почти уверен, что регулярные выражения можно улучшить.