想必各位站长在做站的过程中,特别是采集的时候,难免在简介字段smalltext里会出现一些空格,有的在前,有的在后,但是如果在内容页的TDK里填写了[!--pagedes--]的话,空格也会显示出来。那么按照下面的方法便可以消除代码里的空格,对搜索引擎更好。
第一种写法,直接写在模版代码里:
<?
$qian=array(" "," ","\t","\n","\r");$hou=array("","","","","");
$smalltext=str_replace($qian,$hou,$navinfor[smalltext]);
echo $smalltext;
?>
第二种写法,需要修改相关函数:
我们构造一个过滤函数,将其放在“/e/class/userfun.php”里面,代码如下:
function phome_format_html($str){
$str=trim($str);
$str=str_replace('&','',$str);
$str=str_replace('ldquo;','“',$str);
$str=str_replace('rdquo;','”',$str);
$str=str_replace('middot;','·',$str);
$str=str_replace('lsquo;','‘',$str);
$str=str_replace('rsquo;','’',$str);
$str=str_replace('hellip;','…',$str);
$str=str_replace('mdash;','—',$str);
$str=str_replace('ensp;','',$str);
$str=str_replace('emsp;','',$str);
$str=str_replace('nbsp;','',$str);
$str=str_replace(' ','',$str);
$str=str_replace('t','',$str);
$str=str_replace('rn','',$str);
$str=str_replace('r','',$str);
$str=str_replace('n','',$str);
$str=str_replace(' ','',$str);
$str = preg_replace('/s(?=s)/','', $str);// 接着去掉两个空格以上的
$str = preg_replace('/[nrt]/',' ', $str);// 最后将非空格替换为一个空格
return trim($str);
}
接下来我们在前端模板中调用该函数,使用方式如下,就可以实现过滤帝国cms模板中输出数据的html字符了。
<?=phome_format_html($navinfo['smalltext'])?>
在内容页模版代码里你需要调用smalltext简介字段的地方,使用上面的代码即可输出过滤前后空格的简介。