Php 获取一个元标记数组
如何从名为“tag”的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:/
中获取所有值并在页面上回显它们
这是使用的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