php 设置meta标签中的keywords | description | content-type | copyright的方法函数
怎么设置meta标签中的所有值
if(!function_exists('meta'))
{
/*
* 从键/值数组生成元标记,生成meta标签的keywords,description,Content-type,author等
* @param array
* @param string
* @param string
* @param string
* @return string
*/
function meta($name='',$content='',$type='name',$newline="\n")
{
//因为我允许数据以字符串的形式传递,所以一个简单的数组或者多维的,我们需要做一点准备
if(! is_array($name))
{
$name =array(array('name'=>$name,'content'=>$content,'type'=>$type,'newline'=>$newline));
}
elseif(isset($name['name']))
{
//将单个数组变成多维数组
$name = array($name);
}
$allowed_types=array('charset','http-equiv','name','property');
$str='';
//这里是二维数组的遍历
foreach($name as $meta)
{
//这是为了保留3.1之前版本的BC,其中仅支持'http-equiv'(默认)和'name'
if(isset($meta['type']))
{
if($meta['type'] === 'equiv')
{
$meta['type']='http-equiv';
}
elseif(!in_array($meta['type'],$allowed_types,true))
{
$meta['type']='name';
}
}
$type = isset($meta['type']) ? $meta['type'] : 'name';
$name = isset($meta['name']) ? $meta['name'] : '';
$content = isset($meta['content']) ? $meta['content'] : '';
$newline = isset($meta['newline']) ? $meta['newline'] : "\n";
$str .= '<meta '.$type.'="'.$name.($type==='charset' ? '' : '" content="'.$content).'" />'.$newline;
}
return $str;
}
}
要想运行此函数参数$name可以是一串字符或是数组(必须是二维数组)
$name=array(
array(
‘name’=>‘keywords’,
‘content’=>‘加盟,招商加盟,火锅加盟’
),
array(
‘name’=>‘description’,
‘content’=>‘这是一个火锅串串香加盟页面’
),
array(
‘name’=>‘Content-Type’,
‘content’=>‘text/html;charset=utf-8’,
‘type’=>‘equiv’
),
array(
‘name’=>‘copyright’,
‘content’=>‘本站所有均为原创’
)
);
m
e
t
a
=
m
e
t
a
(
meta=meta(
meta=meta(name);
print_r($meta);