2012-12-14 108 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之间的文本搜索。