0

PHPでcurlを使用して単純なHTMLページを取得しています。

<?php
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, "http://example.com/server");
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_exec($ch);
 curl_close($ch);
?>

そしてincludeそれを私のウェブサイトのファイルに入れてください:

<?php include('curlingCodeAbove.php');?>

curledHTMLの相対URLを絶対URLに置き換えたい。私は相対URLを絶対URLに変更することに精通していますが、そのソリューションをこのコードに挿入しようとして失敗しました。

4

2 に答える 2

1

自分で修正しました。CURLOPT_RETURNTRANSFERフラグを設定します。

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/server");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
$result = preg_replace("#(<\s*a\s+[^>]*href\s*=\s*[\"'])(?!http)([^\"'>]+)([\"'>]+)#",'$1http://mydomain.com/$2$3', $result);
echo $result
?>

あなた自身の答えを受け入れるのはおそらく悪い形ですが、ねえ、私はそれを理解した人です。

于 2012-05-14T20:00:50.133 に答える
0

私のやり方は、検索し="/て置き換えることです="http://www.example.com/

例えば:

$replaces['="/'] = '="http://www.example.com/';
$output = str_replace(array_keys($replaces), array_values($replaces), $output);

私はこれをチェックしていませんが、あなたが必要とすることをするはずです。

于 2012-05-14T18:48:42.363 に答える