导航:首页 > 净水问答 > php最高效关键词过滤

php最高效关键词过滤

发布时间:2021-11-11 02:49:21

1. 看到很多php的安全过滤函数,经常把一些字符给替换掉,那用户输入的信息改变了不是很不好吗求解

正像你所说的,安全过滤,为了安全而限制用户的行为是必须的,你想想这样的限制针专对的是什么属用户?是有意危害网站安全的用户。举几个例子:

  1. 把标题中的html标签过滤。因为标题一般都是纯文本,1.html标签会导致布局错乱2.会包含危险script3.把引号等字符编码为html实体并不会影响其最终显示效果;

  2. 把正文中的<script>标签过滤掉。因为普通用户根本不会去执行script。所以我们一般有两种做法:1.把script去掉,2.用html实体字符编码标签,这样在显示文章既可以显示代码段又不会执行代码了;

  3. 过滤查询参数的单引号。这是为了防止sql注入,一般有三种方法来实现:1.给引号添加反斜线2.去掉引号3.用sql的prepare动态绑定参数;

总之,不要信任任何的用户输入,限制还是为了更多的普通用户更好的使用咱们的服务。

2. php过滤指定字符的函数

explode — 使用一个字符串分割另一个字符串

array explode ( string $delimiter , string $string [, int $limit ] )

此函数返回由字符串组成的数组,每个元素都是 string 的一个子串内,它容们被字符串 delimiter 作为边界点分割出来。

<?php
//示例1
$pizza="";
$pieces=explode("",$pizza);
echo$pieces[0];//piece1
echo$pieces[1];//piece2

//示例2
$data="foo:*:1023:1000::/home/foo:/bin/sh";
list($user,$pass,$uid,$gid,$gecos,$home,$shell)=explode(":",$data);
echo$user;//foo
echo$pass;//*

?>

3. php 过滤重复词组 相同关键词测过滤掉

楼上瞎扯淡,人家是要实现过滤重复词组,不是要你对他的代码做解释
function replaceRepeated($words)
{
$arrSrc =explode(" ",$words);
$arrDst =array();
foreach($arrSrc as $key=>$val)
{
if(!in_array($val,$arrDst))$arrDst[] =$val;
}
return join(" ",$arrDst);
}
$str ="大家好 今天天气真好啊 在干么啊 今天天气真好啊 没干什么啊";
echo replaceRepeated($str);//输出大家好 今天天气真好啊 在干么啊 没干什么啊
算法很简单:
将原来的语句用空格分隔到数组,然后定义另外一个数组存放过滤后的词组,在循环式检查当前字符串在第二个数组中是否存在,不存在则存放到第二个数组,最后函数返回第二个数组即可

4. PHP字符串过滤

可以用正则实现抄。给定字符串的规律是3冒号1分号中,前两个冒号之前是数字,需要的是第三个冒号与分号之前的部分。可如下处理:
<?php
$string = "6939376:28407:包装方式:包装;5392114:75367881:重量(g):500;20000:7343430:品牌:蒙园;";
preg_match_all("/[^:\d]+:[^;]+;/", $string, $out);
$rst = implode("", $out[0]);
echo $rst;
?>
$rst为"包装方式:包装;重量(g):500;品牌:蒙园;"。已经测试是可行的(php5),如有问题欢迎继续交流

5. 整理了php过滤字符串几个例子

用正则表达式替换。
因为你没有详细说明,所以我无法给你演示,找一本正则表达式手册回,如果你熟悉答php,应该很容易看懂,在php里面有正则表达式的相关函数,比如替换/匹配都很方便。

以下是几个例子:
正则表达式说明
/\b([a-z]+) \1\b/gi一个单词连续出现的位置
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/将一个URL解析为协议、域、端口及相对路径
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/定位章节的位置
/[-a-z]/A至z共26个字母再加一个-号。
/ter\b/可匹配chapter,而不能terminal
/\Bapt/可匹配chapter,而不能aptitude
/Windows(?=95 |98 |NT )/可匹配Windows95或Windows98或WindowsNT,当找到一个匹配后,从Windows后面开始进行下一次的检索匹配。

6. 如:$id=xxxx php中关于ID如何严格过滤才进入SQL查询啊用intval还是(int)还是其它要代码啊

// intval 会将非int型的值转为0, 将 332abc 这样的字符串转为332
$id = intval($_GET['id']);

if($id>0){
$sql = 'select * from user where id='.$id;
//或者
$sql = "select * from user where id=$id";
//注意 单引号版和双引权号的区别
mysql_query($sql,$conn);

}

7. 【PHP】对一个变量的内容进行关键字过滤后再输出~

这个阔以用 正则表达式 ,过滤其实 就是 条件截取

8. 求php实现多个字符过滤功能

if(preg_match('/(词1|词2|词3)+/', $string)){
return false;

}

9. php 过滤低于4个字的词组

$str = "大家好 今天天气好啊 在干么啊 没干什么啊"; //自定义字符串
$arr = explode(" ", $str); //根据空格拆分字符串到arr数组中。
foreach($arr as $val){ //循环数组,每次循环的val依次是"大家好","今天天气好啊","在干么啊","没干什么啊"
//echo $val.'<br>'; //可以把这个注释打开看看每个循环的字符串都是什么
if(mb_strlen($val, 'UTF-8') > 4 ) //如果字符串长度大于4,注意第二个参数。看你页面是什么编码,就填什么
$rs .= $val . ' '; //如果长度大于4,就把这次循环的字符串拼到rs字符串里。并在后边加个空格。
}
rtrim($rs, ' ');//去除最后结果rs最右边的空格
echo $rs;

如有不明白的可以追问。楼下请勿复制并加注释。因为我已经加上了。

10. php关键词拦截程序,拦截后怎么知道哪个词为非法词组

你把以下两个文件改动下:
文件一、panan.php改动如下
/**
* 判断文本中是否存在关键词
*/
function filter_text($text, $badstring){
$filter = explode('|', $badstring);
foreach ($filter as $key) {
if(strpos($text, $key) !== false){
return $key;//这里将原来的true改为$key,目的是为了将违规的词返回
}
}
return false;
}
文件三:index.php
<?php
require_once("panan.php");
require_once("filter.php");
$biaoti="如果包含此内容就不能通过!";
if($word = filter_text($biaoti, $badstring)){//改动:此处将filter_text方法的返回值赋值给$word
echo "对不起,你提交的内容包含“{$word}”文字不能发表,请删除“{$word}”文字后再提交!";//将word值打印出来
exit();
}
?>
你将这两个文件有注视的位置改下就行了。如果不行你可以加我网络hi,希望能帮到你。

阅读全文

与php最高效关键词过滤相关的资料

热点内容
什么品牌净化器除甲醛效果最好 浏览:901
树脂三乙醇胺硬度 浏览:270
灯达树脂砂轮 浏览:296
泰克马污水提升器无锡 浏览:926
水性热塑性树脂耐化性 浏览:779
史密斯净化器怎么重置滤芯 浏览:211
济源年产18万吨污水处理剂 浏览:328
厕所饮水机漏水什么情况 浏览:127
反渗透净水器如何接烧水壶 浏览:262
饮水机为什么不过滤水 浏览:416
海曙污水管道养护单位 浏览:431
雾化吸入加入蒸馏水 浏览:1
厦门超标排放污水量处罚办法 浏览:782
伊滨区污水处理厂地址 浏览:661
纯水机进水电磁阀为什么24v不到位 浏览:790
惠而浦直饮净水机多少钱 浏览:40
镀铬后的废水处理最方便 浏览:851
既热式饮水机怎么装前置过滤器 浏览:585
皮革行业含碱废水 浏览:288
鱼缸双侧过滤连接步骤 浏览:735