帝国CMS中常用的过滤特殊字符和空格的函数
帝国CMS常用的过滤特殊字符及空格函数是`escape()`。这个函数可以对字符串中的特殊字符进行转义,以防止SQL注入等安全问题。同时,它还可以去除字符串中的空格和HTML标签,使输出的文本更加干净整洁。使用`escape()`函数时,需要传入一个字符串参数,函数会返回一个新的经过处理的字符串。例如: ```php $str = ""; $safe_str = escape($str); echo $safe_str; // 输出:<script>alert('XSS')</script> ``` 在这个例子中,`escape()`函数将`$str`中的特殊字符进行了转义,并去除了空格和HTML标签。
帝国cms内容页模板的描述标签,是直接输出内容标题,这个在seo优化当中还是有一定影响的,新闻在发布时会自动生成smalltext简介字段,但我们如果直接在页面上输出简介字段,经常会带有特殊字符或者带有换行,这个也是非常不好的。接下来跟cms大学小编一起学习如何在帝国cms的内容页输出不换行且没有特殊字符的内容简介。
函数代码如下:
functionCmsdx_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);//最后将非空格替换为一个空格returntrim($str);}
我们将上述函数放到 /e/class/userfun.php 中,这里是存储用户的自定义函数。
接下来在内容页描述的meta标签中调用如下标签:
<?=Cmsdx_format_html($navinfor['smalltext'])?>
注意外层一定要包裹我们写的自定义函数,这样就可以实现无特殊格式的输出smalltext简介字段了。