[帝国教程] 帝国CMS截取内容简介怎么取消换行函数,过滤其中特殊字符及空格

[复制链接]
查看134 | 回复0 | 2021-1-19 18:46:27 | 显示全部楼层 |阅读模式
本帖最后由 九头金雕 于 2021-1-19 18:48 编辑

帝国cms内容页模板的描述标签,是直接输出内容标题,这个在seo优化当中还是有一定影响的,新闻在发布时会自动生成smalltext简介字段,但我们如果直接在页面上输出简介字段,经常会带有特殊字符或者带有换行,这个也是非常不好的。接下来跟cms大学小编一起学习如何在帝国cms的内容页输出不换行且没有特殊字符的内容简介。
函数代码如下,:

function Cmsdx_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('\r\n','',$str);   


$str=str_replace('\r','',$str);   


$str=str_replace('\n','',$str);   


$str=str_replace(' ','',$str);  


$str = preg_replace('/\s(?=\s)/','', $str);// 接着去掉两个空格以上的  


$str = preg_replace('/[\n\r\t]/',' ', $str);// 最后将非空格替换为一个空格  


return trim($str);  


}  

我们将上述函数放到 /e/class/userfun.php 中,这里是存储用户的自定义函数。
接下来在内容页描述的meta标签中调用如下标签:
<?=Cmsdx_format_html($navinfor['smalltext'])?>
注意外层一定要包裹我们写的自定义函数,这样就可以实现无特殊格式的输出smalltext简介字段了。
类似这样
  1. <meta name="description" content="<?=Cmsdx_format_html($navinfor['smalltext'])?> " />
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则