curl で取得したページの URL を置き換え、画像とリンクに正しいリンクを追加する必要があります。私のphpカールコードは次のとおりです。
<?php
function getPage($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$result = curl_exec($ch);
curl_close($ch);
if (!preg_match('/src="https?:\/\/"/', $result))
$result = preg_replace('/src="(.*)"/', "src=\"http://support.prophpbb.com/\\1\"", $result);
if (!preg_match('/href="https?:\/\/"/', $result))
$result = preg_replace('/href="(.*)"/', "href=\"http://support.prophpbb.com/\\1\"", $result);
return $result;
}
$result = getPage('http://support.prophpbb.com/');
print_r ($result);
?>
このコードは一部のリンクでは正常に機能しますが、正しいリンクでは重複します。
間違ったリンクから、正しいものに置き換えられます:
<img src="./uploads/support/images/1355955233.png" alt="" title="" />
<img src="http://support.prophpbb.com/./uploads/support/images/1355955233.png" alt="" title="" />
しかし、正しいリンクは、間違ったものに置き換えられます:
<img src="http://support.prophpbb.com/styles/subsilverPlus/theme/images/icon_mini_faq.gif" width="12" height="13" alt="*" />
<img src="http://support.prophpbb.com/http://support.prophpbb.com/styles/subsilverPlus/theme/images/icon_mini_faq.gif" width="12" height="13" alt="*" />
誰でも私を助けてもらえますか?