我有以下代码:
<?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中检索网址(http://www.kqzyfj.com/click-6331466-10751223)。
答案 0 :(得分:3)
如果您要解析HTML以从锚标记中提取href属性值,请使用HTML / DOM Parser(绝对不要使用正则表达式)。
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 />";
如有必要,您可以首先使用href
检查节点是否有hasAttribute()
。
和link
答案 1 :(得分: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");
});
答案 2 :(得分:-2)
您可以使用正则表达式:
preg_match("/href=\"(http:\/\/.*)\"/U",$a, $matches);
它会搜索'href =“'和'”'之间的文字 $ matches [1]将包含您的网址。