0

重複の可能性:
A 要素の href 属性を取得する

私は次のコードを持っています:

<?php $a= "<a href="http://www.kqzyfj.com/click-6331466-10751223" target="_top">
<img src="http://www.tqlkg.com/image-6331466-10751223" width="300" height="250" alt="Kaspersky Anti-Virus 2013" border="0"/></a>" ?>

php でURL ( http://www.kqzyfj.com/click-6331466-10751223 )を取得する方法を教えてください。

4

3 に答える 3

4

HTML を解析してアンカー タグから href 属性値を抽出する場合は、HTML/DOM パーサーを使用します (絶対に正規表現を使用しないでください)。

PHP シンプルな HTML DOM パーサー

PHP XML DOM

また

HTML の解析に正規表現を使用しないでください。PHP DOM を使用します。

$DOM = new DOMDocument;
$DOM->loadHTML($str); // Your string

//get all anchors
$anchors = $DOM->getElementsByTagName('a');

//display all hrefs
for ($i = 0; $i < $anchors->length; $i++)
    echo $anchors->item($i)->getAttribute('href') . "<br />";

必要に応じて、最初にノードにhrefusingがあるかどうかを確認できます。hasAttribute()

そしてこのリンク

于 2012-12-14T16:38:39.073 に答える
0

jqueryまたはのいずれかを試してくださいDOMXPATH

ここにDOMXPATHへのリンクがあります

Jqueryを使用すると、セレクターを配置することでその値を取得できますid

<a href="http://www.kqzyfj.com/click-6331466-10751223" target="_top" id='url'>

そして、次のようにアクセスします。

$(document).ready(function(){
 var link = $("#url").attr("href");
});
于 2012-12-14T16:33:39.877 に答える
-2

正規表現を使用できます。

preg_match("/href=\"(http:\/\/.*)\"/U",$a, $matches);

'href="' と '"' の間のテキストを検索し、$matches[1] に URL が含まれます。

于 2012-12-14T16:57:39.190 に答える