2012-12-14 105 views
0

可能重複:
Grabbing the href attribute of an A element如何從HTML代碼塊獲取URL?

我有以下代碼:

<?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) 。

+0

你有這樣的字符串嗎?那是在你當前的PHP文件中嗎? –

+0

你到目前爲止試過了什麼!!!你可以顯示你的代碼 – Ghostman

+0

@soul我沒有任何想法我應該怎麼試用 –

回答

0

嘗試要麼jqueryDOMXPATH

這裏的鏈接到DOMXPATH

使用jQuery,則可以通過選擇得到它的價值,說id

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

而且,當時訪問它,

$(document).ready(function(){ 
var link = $("#url").attr("href"); 
}); 
3

如果您解析HTML以從錨定標記中提取href屬性值,請使用HTML/DOM解析器(絕對不要使用正則表達式)。

PHP Simple HTML DOM Parser

PHP XML DOM

OR

Don't use regexes to parse 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 />"; 

您可以檢查節點使用hasAttribute()必要時先有href

link

-2

你可以使用正則表達式:

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

它將爲 'HREF = 「' 和 '」' $匹配[1]將包含URL之間的文本搜索。