如何从<meta>
命名&#34;标记&#34;中获取所有值?并在页面上回显它们?
这是HTML im使用:
<meta name="tag" content="plant"/>
<meta name="tag" content="leaf"/>
<meta name="tag" content="waterdroplet"/>
<meta name="tag" content="water"/>
我正在使用的PHP:
$tags = array (get_meta_tags ( "http://s0ulp1xel.x10.mx/background-garage/?p=photo&photo=1"));
echo $tags;
结果是它只回显了最后<meta>
个名为&#34;标记&#34;。
答案 0 :(得分:2)
get_meta_tags
返回一个数组,使用print_r()
来查看它的结构,并循环显示它们,然后根据需要打印它们:
foreach($tags as $tag){
echo $tag."\n";
}
编辑:你不需要将get_meta_tags
的结果放在另一个数组中,然后你就可以无缘无故地添加一个。
explode(',',$meta['tags']);
答案 1 :(得分:1)
如果您的问题现在我如何将逗号分隔的值作为不同的代码?,您可以执行以下操作:
<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
答案 2 :(得分:0)
答案 3 :(得分:0)
设置标签时出错了
<meta name="tag" content="xx" />
<meta name="tag" content="yz" />
当您执行get_meta_tags()
时,它只会显示最后值(在这种情况下:yz
)
所以你需要在标签上加上不同的名字
例如
<meta name="tag1" content="yz" />
<meta name="tag2" content="yz" />
答案 4 :(得分:0)
名称必须是唯一的。 See the documentation of this function:
If two meta tags have the same name, only the last one is returned.
所以你只能使用name =“tag”的元标记,所以最好再尝试逗号分隔值。