帝国CMS截取内容简介函数,过滤其中特殊字符及空格


avatar
pcwnas 2023-04-21 249

帝国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简介字段了。