帝国CMS常用的过滤特殊字符及空格函数
2020-04-10 站长 站长日志
帝国cms内容页模板的描述标签,是直接输出内容标题,这个在seo优化当中还是有一定影响的,新闻在发布时会自动生成smalltext简介字段,但我们如果直接在页面上输出简介字段,经常会带有特殊字符或者带有换行,这个也是非常不好的。接下来跟cms大学小编一起学习如何在帝国cms的内容页输出不换行且没有特殊字符的内容简介。
函数代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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( '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); } |
我们将上述函数放到 /e/class/userfun.php 中,这里是存储用户的自定义函数。
接下来在内容页描述的meta标签中调用如下标签:
1 | <?=Cmsdx_format_html( $navinfor [ 'smalltext' ])?> |
注意外层一定要包裹我们写的自定义函数,这样就可以实现无特殊格式的输出smalltext简介字段了。
下一篇:帝国cms好用的搜索伪静态方法