[英]Using simplehtmldom trying to find a URL with out and id or class
第一次在这里张贴海报,做了大约几个小时的搜索和尝试,但被卡住了……所以请放轻松我:)
带有包含此内容的页面...
<li onclick="javascript:trackClick(14423, 'web'); document.location='http://www.mywebsite.com';"> <img class="listing-control" src="img/url-profile-listings.png" alt="Get Directions" width="51" height="51" style="padding:4px;"> <span id="web14423">Visit Website</span> </li>
我试图在li标签的document.location中获取URL http://www.mywebsite.com 。
唯一唯一且不变的事情是span标记中的“访问网站”文本。 有什么方法可以找到它并从onclick事件转到document.location属性的父li标签吗?
任何帮助将不胜感激!!!
谢谢,
MrMo。
当然,将其加载到SimpleHTMLDOM
对象中,然后将其定位为<li>
标记即可。 定位onclick=""
属性以获取其中的值。
免责声明:无论如何我都不是正则表达式专家。
$html_string = <<<EOT
<li onclick="javascript:trackClick(14423, 'web'); document.location='http://www.mywebsite.com';">
<img class="listing-control" src="img/url-profile-listings.png" alt="Get Directions" width="51" height="51" style="padding:4px;">
<span id="web14423">Visit Website</span>
</li>
EOT;
$html = str_get_html($html_string);
// after loading the html with either str_get_html or file_get_html
foreach($html->find('li') as $list) {
$script = $list->onclick;
preg_match('/document.location\s*=\s*\'(.*?)\';/', $script, $match);
if(!empty($match)) {
$url = $match[1];
echo $url;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.