仓酷云

标题: PHP网站制作之给whygod,若何过滤高亮显示不法字符!... [打印本页]

作者: 再见西城    时间: 2015-2-4 00:24
标题: PHP网站制作之给whygod,若何过滤高亮显示不法字符!...
然后大吼:别人可以,我为什么就不可以?(是不是有点阎罗教练的味道,默默的确是电影看多了,抽嘴巴是会痛的,各位其实明白这个道理了就行了)高亮显示   <?
//我只是做一个测试,假如再用相似tmd的字符串,必定要注重,假如字符串中的字符呈现在$StartWordStrHtml或$EndWordStrHtml中,你需求修正上面的preg_replace中的划定规矩
$CheckedMessage="Hello!!他X的..他....X...的....How are you m d ";     //the message to be checked
echo $CheckedMessage."<br>";
$CheckedWords=array("他X的","tmd");//要过滤的不法字符,假如你需求把单个的字符也过滤,好比:他ererX000的过滤出来他,X,的,你就没需要把过滤字符设置成"他X的"只需设置成$CheckedWords=array("他","X","的");就能够了
$StartWordStrHtml="<u><b><font color='#FF0000'>";
$EndWordStrHtml="</font></b></u>";
$CheckOther= true;//设置标示位,是不是显示单个的字符,假如设置成true,上面的if(strstr……)就不需求了
for($i=0;$i<count($CheckedWords);$i++){
     if(strstr($CheckedMessage,$CheckedWords[$i])){ //此处可去失落
         $CheckedMessage=eregi_replace($CheckedWords[$i],$StartWordStrHtml.$CheckedWords[$i].$EndWordStrHtml,$CheckedMessage);//假如只过滤诸如"他X的"字符串(是字符串,不是单个字符),可以直接写这句,同时把$CheckOther设置成false
     }
     if($CheckOther == true){
         $CharStringLength = strlen($CheckedWords[$i]);
         for($j=0;$j<$CharStringLength;$j++){
             $AssumeLength=1;//假定截取长度
             if(ord(substr($CheckedWords[$i],$j,$AssumeLength))>0xa0){//假如汉字,假定长度加一
                $AssumeLength++;         
             }
             $SubstrChar = substr($CheckedWords[$i],$j,$AssumeLength);            
             $CheckedMessage=preg_replace("/(?<!fon)".$SubstrChar."/",$StartWordStrHtml.$SubstrChar.$EndWordStrHtml,$CheckedMessage);//交换字符,同时假如字符含有t的时分<font>中的t不会被交换,假如需求过滤失落在$StartWordStr或在$EndWordStrHtml中的的字符,需求修正划定规矩,不然的话将会呈现乱码            
             if($AssumeLength!=1){//假如以后截取字符为汉字
             $j++;        
             }
         
         }
     }
}
echo $CheckedMessage;
//只是一个复杂的测试,但愿对你有所匡助,但愿你能触类旁通,好运!

?>  你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。
作者: 谁可相欹    时间: 2015-2-4 02:05
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 莫相离    时间: 2015-2-6 03:14
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 山那边是海    时间: 2015-2-11 01:09
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 小妖女    时间: 2015-2-22 20:17
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 兰色精灵    时间: 2015-3-7 02:12
爱上php,他也会爱上你。
作者: 蒙在股里    时间: 2015-3-8 16:20
兴趣是最好的老师,百度是最好的词典。
作者: 小魔女    时间: 2015-3-16 04:36
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 愤怒的大鸟    时间: 2015-3-22 20:10
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 深爱那片海    时间: 2015-3-24 03:04
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 再现理想    时间: 2015-3-24 21:36
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 因胸联盟    时间: 2015-3-29 05:02
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 精灵巫婆    时间: 2015-4-26 08:11
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 再见西城    时间: 2015-5-1 05:12
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 小女巫    时间: 2015-5-4 02:42
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: admin    时间: 2015-6-14 18:57
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 简单生活    时间: 2015-6-28 09:13
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 不帅    时间: 2015-7-13 21:29
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 仓酷云    时间: 2015-7-17 02:49
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2