如何从HTML代码块获取URL?
问题描述:
可能重复:
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) 。
答
尝试要么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");
});
答
如果您解析HTML以从锚定标记中提取href属性值,请使用HTML/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
答
你可以使用正则表达式:
preg_match("/href=\"(http:\/\/.*)\"/U",$a, $matches);
它将为 'HREF = “' 和 '”' $匹配[1]将包含URL之间的文本搜索。
你有这样的字符串吗?那是在你当前的PHP文件中吗? –
你到目前为止试过了什么!!!你可以显示你的代码 – Ghostman
@soul我没有任何想法我应该怎么试用 –