我正在尝试阅读网站的元重定向。数据在curl请求中(我已经建立了一个存根进行测试)。
什么是“读取URL”不起作用-任何PHP DOMDocument专家都可以告诉我为什么此代码不起作用?我正在尝试从meta refresh标签中获取URL。
$r['body'] = '<HTML><HEAD><TITLE>Meta Refresh Example</TITLE>'.
'<meta http-equiv=refresh content="12; URL=meta2.htm">'.
'<link rel="stylesheet" href="../bwsrstyle.css" type="text/css">'.
'<LINK REL="SHORTCUT ICON" href="/myicon.ico">'.
'<meta http-equiv="Content-Type" content="text/html; charset=></HEAD>'.
'<BODY BGCOLOR="#FFFFFF" TEXT="#000000">foo</BODY></HTML>';
$dom = new DOMDocument();
@$dom->loadHTML($r['body']);
$xpath = new DOMXpath($dom);
$meta_redirect = $xpath->query("//meta[@http-equiv='refresh']");
foreach ($meta_redirect as $node) {
echo "\nNODE: {$node->getAttribute('http-equiv')} ".
"\nURL: {$node->getAttribute('url')}\n";
}
“刷新”正确拉出,但URL不正确。
参考方案
没有属性url=
。您需要查询content=
属性。
print "\nURL: {$node->getAttribute('content')}\n";
而且,您还必须手动拆分此结果字符串。它仍然包含2; url=
前缀。这不是DOM函数正常处理的事情。
我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…
PHP:对数组排序 - php请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…
转义字符无法正常工作 - php我试图在PHP中创建html内容,并且为onclick事件提供了一个名为uchat的div函数。该函数采用一个字符串的名称参数。如下所示:$name = "Php string"; $echostr .= "<div onClick='uchat(\'$name\')'> &l…
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…