2012-12-09 83 views
0

感谢您的帮助!如何使用DOM xpath从php中的变量中获取href?

我试图找出如何提取href属性出包含单个标签的PHP变量的......像这样

$var = "<a class='coupon_link' href='http://www.anrdoezrs.net/r365wktqks7EDD8BDB799AACCEE' target='_blank' onmouseover='window.status=' http:='' www.myjewelrybox.com';return='' true;'='' onmouseout='window.status=' ';return=''><img src='http://www.lduhtrp.net/fl115vvzntrCJIIDGIGCEEFFHHJJ' alt='' border='0'></a>"; 

我听说,你可以使用XPath做到这一点,但不知何故再次

$xml = simplexml_load_string($var); 
    $myhref = $xml->xpath("//a[contains(@href,'foo')]"); 

    echo $myhref; 

感谢:/

这里是我试图 - :在我的尝试是不成功的!

+3

您提供的'$ var'的字符串不是有效的XML在使用DOMXPath。当我尝试将该字符串加载到SimpleXML中时,我收到大约三页的警告消息。如果你没有看到任何东西,你会想检查你的'error_reporting'值。 – Charles

回答

0

继@Charles评论,我建议解析HTML随机

$var = "<a class='coupon_link' href='http://www.anrdoezrs.net/r365wktqks7EDD8BDB799AACCEE/foo' target='_blank' onmouseover='window.status=' http:='' www.myjewelrybox.com';return='' true;'='' onmouseout='window.status=' ';return=''><img src='http://www.lduhtrp.net/fl115vvzntrCJIIDGIGCEEFFHHJJ' alt='' border='0'></a>"; 

$xml = new DOMDocument(); 
@$xml->loadHTML($var); 
$oXpath = new DOMXPath($xml); 
$inputs = $oXpath->query("//a[contains(@href,'foo')]"); 
var_dump($inputs);