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;
//只是一个复杂的测试,但愿对你有所匡助,但愿你能触类旁通,好运!
?>你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 爱上php,他也会爱上你。 兴趣是最好的老师,百度是最好的词典。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 基础有没有对学习php没有太大区别,关键是兴趣。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
页:
[1]