PHPQuery未将元详细信息提取到数组中
我正在尝试使用PHPQuery()从我的网站中获取数据。 我想从页面中提取元信息 以下是我迄今为止所尝试的:PHPQuery未将元详细信息提取到数组中,php,web-scraping,phpquery,Php,Web Scraping,Phpquery,我正在尝试使用PHPQuery()从我的网站中获取数据。 我想从页面中提取元信息 以下是我迄今为止所尝试的: $html = phpQuery::newDocumentHTML($file, $charset = 'utf-8'); $MetaItems = []; foreach (pq('meta') as $keys) { $names = trim(strtolower(pq($keys)->attr('name'))); if ($names !== null
$html = phpQuery::newDocumentHTML($file, $charset = 'utf-8');
$MetaItems = [];
foreach (pq('meta') as $keys) {
$names = trim(strtolower(pq($keys)->attr('name')));
if ($names !== null && $names !== '') {
array_push($MetaItems, $names);
}
}
for ($i=0; $i < count($MetaItems); $i++) {
$test = 'meta[name="' . $MetaItems[$i] . '"]';
echo pq($test)->html();
}
$html=phpQuery::newDocumentHTML($file,$charset='utf-8');
$MetaItems=[];
foreach(pq(“元”)作为$keys){
$names=trim(strtolower(pq($keys)->attr('name'));
如果($names!==null&&$names!=''){
数组\u push($MetaItems,$names);
}
}
对于($i=0;$ihtml();
}
以上:
在$MetaItems
中,我获得了所有的元属性name
。该数组已正确填充。但是,选择和提取文本不起作用。如何使上述代码正常工作?
谢谢。假设您提取的值与您试图获取的名称属性的值完全相同。。。我很确定
name
属性的值是区分大小写的。您需要拆下strtolower和饰件。两者都可能引发问题。我将用以下内容替换第一部分:
$html = phpQuery::newDocumentHTML($file, $charset = 'utf-8');
$MetaItems = [];
foreach (pq('meta') as $keys) {
$names = pq($keys)->attr('name');
if (!empty($names) && trim($names)) {
array_push($MetaItems, $names);
}
}
希望这有助于假设您提取的值与您试图获取的名称属性的值完全相同。。。我很确定
name
属性的值是区分大小写的。您需要拆下strtolower和饰件。两者都可能引发问题。我将用以下内容替换第一部分:
$html = phpQuery::newDocumentHTML($file, $charset = 'utf-8');
$MetaItems = [];
foreach (pq('meta') as $keys) {
$names = pq($keys)->attr('name');
if (!empty($names) && trim($names)) {
array_push($MetaItems, $names);
}
}
希望这有帮助您想要一个名为=>内容的assoc数组,对吗?试试这个:
$metaItems = array();
foreach(pq('meta') as $meta) {
$key = pq($meta)->attr('name');
$value = pq($meta)->attr('content');
$metaItems[$key] = $value;
}
var_dump($metaItems);
您想要一个名为=>content的assoc数组,对吗?试试这个:
$metaItems = array();
foreach(pq('meta') as $meta) {
$key = pq($meta)->attr('name');
$value = pq($meta)->attr('content');
$metaItems[$key] = $value;
}
var_dump($metaItems);
var\u dump
你的$MetaItems
看看它得到了什么。@Ravi:$MetaItems
是正确的,它给了我一个数组,数组中有值描述,关键字,作者你的var\u dump
看看它得到了什么。@Ravi:$MetaItems
是正确的,它为我提供了一个数组,其中包含值description
,关键字
,作者
。。。