如何过滤高亮显示非法字符

2016-01-29 15:00 37 1 收藏

如何过滤高亮显示非法字符,如何过滤高亮显示非法字符

【 tulaoshi.com - PHP 】

  <?
//我只是做一个测试,如果再用类似tmd的字符串,一定要注意,如果字符串中的字符出现在$StartReplaceHtml或者$EndReplaceHtml中,你需要修改下面的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","的");就可以了
$StartReplaceHtml="<u<b<font color='#FF0000'";
$EndReplaceHtml="</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],$StartReplaceHtml.$CheckedWords[$i].$EndReplaceHtml,$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."/",$StartReplaceHtml.$SubstrChar.$EndReplaceHtml,$CheckedMessage);//替换字符,同时如果字符含有t的时候<font中的t不会被替换,如果需要过滤掉在$StartReplace或者在$EndReplaceHtml中的的字符,需要修改规则,否则的话将会出现乱码             
             if($AssumeLength!=1){//如果当前截取字符为汉字
             $j++;        
             }
         
         }
     }
}
echo $CheckedMessage;
//只是一个简单的测试,希望对你有所帮助,希望你能举一反三,好运!

?
 

来源:http://www.tulaoshi.com/n/20160129/1495014.html

延伸阅读
标签: Web开发
高亮度显示php源代码?php function HeighPHPcode($Heightstring){ do{    $z=0;    if(preg_match('/phpcode(.*?)/phpcode/s',$Heightstring,$reg)) {      $z=1;      $code='';      ob_start();      highlight_string($...
标签: PHP
    vim是一款跨平台编辑器,可以在 linux 下使用,也可以在windows下使用,其官方网站为 www.vim.org。要使其高亮显示 php 代码可以进入vim后,在普通模式下输入如下命令,开启php代码高亮显示 :syntax enable :source $VIMRUNTIME/syntax/php.vim
标签: Web开发
今天我们来看一看MooTools给我们提供的额外的一些处理字符函数。这只是MooTools字符串处理中的一部分,并不包含一些神秘的函数(比如toCamelCase())和使用正则表达式处理字符串的函数。我们会在以后另外用一讲来将一下正则表达式的基本知识和在MooTools下的使用。 在开始之前,我想先花一点时间来看一下字符串函数是怎么调用的。在我的例...
标签: 浏览器
搜狗高速浏览器如何关键词高亮显示 关键词高亮显示的方法是:通过搜索栏进行搜索,打开搜索栏旁边的高亮按钮,就能看到搜索结果中所有该关键词都高亮显示了,如图所示。    表示关键词高亮开启,   表示关键词高亮关闭,   表示关键词高亮模式不可用   点击进入搜索结果的页面,关...
标签: Web开发
比如 1223445677777778aabbcccccccccc 经过过滤之后就是12345678abc 代码如下: %     '过滤重复    Function norepeat(Str)     Dim RegEx     If IsNull(Str) Or Str="" Then Exit Function  ...

经验教程

500

收藏

97
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部