Php 获取一个元标记数组

Php 获取一个元标记数组,php,html,arrays,meta-tags,Php,Html,Arrays,Meta Tags,如何从名为“tag”的中获取所有值并在页面上回显它们 这是使用的HTML im: <meta name="tag" content="plant"/> <meta name="tag" content="leaf"/> <meta name="tag" content="waterdroplet"/> <meta name="tag" content="water"/> $tags = array (get_meta_tags ( "http:/

如何从名为“tag”的
中获取所有值并在页面上回显它们

这是使用的HTML im:

<meta name="tag" content="plant"/>
<meta name="tag" content="leaf"/>
<meta name="tag" content="waterdroplet"/>
<meta name="tag" content="water"/>
$tags = array (get_meta_tags ( "http://s0ulp1xel.x10.mx/background-garage/?p=photo&photo=1"));
echo $tags;

结果是,它只回显最后一个名为“tag”的

您正确获取了标记,但没有正确显示它们

不能在阵列上使用
echo


您可以使用查看您拥有的整个数组-这将显示如何在代码中访问它。

获取meta\u标记返回一个数组,使用
print\u r()

foreach($tags as $tag){
  echo $tag."\n";
}
编辑:您不需要将
get\u meta\u tags
的result粘贴到另一个数组中,然后您就可以毫无理由地拥有一个额外的数组

explode(',',$meta['tags']);

您在设置标记时出错

<meta name="tag" content="xx" />
<meta name="tag" content="yz" />
名称必须是唯一的:


因此,您只能使用带有name=“tag”的元标记,因此最好尝试使用逗号分隔的值。

如果您现在的问题是如何将逗号分隔的值作为不同的标记?,您可以这样做:

<meta name="tag" content="plant, leaf, waterdroplet, water" />

$tags = get_meta_tags('yourfile.html');
$tags = array_map('trim', explode(',', $tags['tag']));

当然-您总是覆盖名为
tag
;-)的标记您只有一个值-这是最新的值。如何将逗号分隔的值作为不同的标记?我将使用
,但这取决于您需要元标记的目的。它由新行分隔,请查看源代码以更清楚地看到递归。如果它只是一个数组中的一个数组,那么
get\u meta\u tags
并没有达到您所期望的效果,看看dom说了什么,试着把所有的标记放在一个逗号分隔的字符串中,然后
split()
。5.3.0. 还有其他选择吗?啊,是的,
explode()
-我的坏消息,还有一点东西潜入了我的php:)我怎么能把它变成一个获取标签并显示结果的搜索呢?
 If two meta tags have the same name, only the last one is returned.
<meta name="tag" content="plant, leaf, waterdroplet, water" />

$tags = get_meta_tags('yourfile.html');
$tags = array_map('trim', explode(',', $tags['tag']));
foreach($tags as $k => $v) {
  echo $k . ': ' . $v . '<br />' . "\n";
}
0: plant
1: leaf
2: waterdroplet
3: water