以下に、PHP での通常のリンクの 2 つの方法を示します。これらは、コンテンツのすべてのリンクを取得して配列に保存できます。もちろん、すべてのリンクを置き換えることもできます。
以下は、PHP チュートリアルの 2 つの通常のリンク メソッドです。これらは、コンテンツのすべてのリンクを取得し、配列に保存することができます。もちろん、すべてのリンクを置き換えることもできます。
方法1
関数 get_all_url($code){
Preg_match_all('/"' ]+)["|']?s*[^>]*>([^>]+)/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}+href=["|']?([^>
方法 2
$site=substr($url,0,strpos($url,"/",8));//サイト
$base=substr($url,0,strrpos($url,"/")+1);//ファイルが置かれているディレクトリ
$fp = fopen($url, "r" );//URLを開く
while(!feof($fp))$contents.=fread($fp,1024);//
$pattern="|href=['"]?([^ '"]+)['" ]|u";
preg_match_all($pattern,$contents, $regarr, preg_set_order);//すべてに一致 href=
for($i=0;$i
($regarr);$i++){> if(!eregi("://",$regarr[$i][1]))//相対パスであるかどうか、つまり、://
がまだ存在するかどうかif(substr($regarr[$i][1],0,1)=="/")//サイトのルートディレクトリですか
echo "link".($i+1).":".$site.$regarr[$i][1]."
";//ルートディレクトリその他
echo "link".($i+1).":".$base.$regarr[$i][1]."
";//現在のディレクトリその他
echo "link".($i+1).":".$regarr[$i][1]."
";//相対パス}
fclose($fp);