Php 使用simplehtmldom尝试查找带有out和id或class的URL
第一次在这里张贴海报,做了几个小时的搜索和尝试,但被卡住了。。。所以对我放松点:) 用一个包含这个的页面Php 使用simplehtmldom尝试查找带有out和id或class的URL,php,html,parsing,dom,simple-html-dom,Php,Html,Parsing,Dom,Simple Html Dom,第一次在这里张贴海报,做了几个小时的搜索和尝试,但被卡住了。。。所以对我放松点:) 用一个包含这个的页面
访问网站
我正在尝试获取文档中的url。li标记的位置
唯一一个独特且持续的关键点是span标记中的“访问网站”文本。有没有办法从onclick事件中找到document.location属性的父li标记
任何帮助都将不胜感激
谢谢
MrMo。当然,将其加载到
SimpleHTMLDOM
对象中,然后将其指向
标记。针对onclick=“
属性获取其中的值
免责声明:无论如何,我都不是正则表达式专家
$html\u string=您希望在哪个事件上获取我指的url单击li或img??发布你的js代码嘿鬼!预赛。。。就是这样!昨天发布后,我试图用strtok暴力破解一个解决方案,但只是走了这么远,我想一定有一个更直截了当的方法。。。这很有效。非常感谢,我将深入阅读文档以了解更多信息(如果其他人感兴趣,请提供链接)。
$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;
}
}