php过滤关键字
① 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);//输出大家好 今天天气真好啊 在干么啊 没干什么啊
算法很简单:
将原来的语句用空格分隔到数组,然后定义另外一个数组存放过滤后的词组,在循环式检查当前字符串在第二个数组中是否存在,不存在则存放到第二个数组,最后函数返回第二个数组即可
② php 正则过滤掉 指定的a标签
<?php
header("Content-type: text/html; charset=utf-8");
$content = '<a class="qc" href="/car">汽车</a>
<a class="db" href="/car">大巴</a>
<a class="qc" href="/car">汽车</a>';
$regex = array('#<a class="qc" href="/car">(.*)</a>#i'=>'$1');
$content = preg_replace(array_keys($regex), array_values($regex), $content);
echo $content;
③ 求php实现多个字符过滤功能
if(preg_match('/(词1|词2|词3)+/', $string)){
return false;
}
④ 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;//*
?>
⑤ PHP怎样过滤中文状态下特殊字符(比如标点符号)
123456789101112131415function filterGBK_SpecialChars($str){$str =urlencode($str);//将关键字编码//下面的必须写在一行,不可换行截断$str=preg_replace("/(%7E|%60|%21|%40|%23|%24|%25|%5E|%26|%27|%2A|%28|%29|%2B|%7C|%5C|%3D|\-|_|%5B|%5D|%7D|%7B|%3B|%22|%3A|%3F|%3E|%3C|%2C|\.|%2F|%A3%BF|%A1%B7|%A1%B6|%A1%A2|%A1%A3|%A3%AC|%7D|%A1%B0|%A3%BA|%A3%BB|%A1%AE|%A1%AF|%A1%B1|%A3%FC|%A3%BD|%A1%AA|%A3%A9|%A3%A8|%A1%AD|%A3%A4|%A1%A4|%A3%A1|%A1%AB|%A3%FB|%A3%FD|%A1%BE|%A1%BF|)+/",'',$str);$str =urldecode($str);//将过滤后的关键字解码return $str;}$str='广~·@#¥%……&*()——+|-=、{}【】:;“”‘’~“《》,。?、州;?海【,鲜。餐“”】(,厅) ';echo filterGBK_SpecialChars($str);
⑥ PHP 如何过滤 变量 $value1 里一些特定的字符
function htmldecode($str)
{
if(empty($str)) return;
if($str=="") return $str;
$str=str_replace("&",chr(34),$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace("&","&",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("
",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$farr = array(
"/\s+/" , //过滤多余的空白
"/<(\/?)(img|script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU" , //过滤 <script 防止引入恶意内容或恶意代码,如果不需要插入flash等,还可以加入<object的过滤
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU" , //过滤javascript的on事件
);
$tarr = array(
" " ,
"<\\1\\2\\3>" , //如果要直接清除不安全的标签,这里可以留空
"\\1\\2" ,
);
$str = preg_replace ( $farr , $tarr , $str );
return $str;
} 以上是PHP过滤所有特殊字符的代码,你如果只需要过滤掉 <img src="/ 跟 " />,你可以把这2段字符串单独过滤掉,但是一定要注意,别单独过滤“/”否则把你要的部分的“/”也过滤了!
⑦ 整理了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后面开始进行下一次的检索匹配。
⑧ PHP怎么提取和过滤一段字符里面的固定内容
preg_match_all("/.*<img.*src=\"(.*)\".*/",$str,$matches);
print_r($matches);
⑨ PHP提交自动过滤掉input框内的指定字符,怎么写呢
tr_replace() 函数使用一个字符串替换字符串中的另一些字符。
语法
str_replace(find,replace,string,count)
参数
描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。
提示和注释
注释:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。
注释:该函数是二进制安全的。
例子
例子 1
<?php
echo str_replace("world","John","Hello world!");
?>
输出:
Hello John!
例子 2
在本例中,我们将演示带有数组和 count 变量的 str_replace() 函数:
<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "Replacements: $i";
?>
输出:
Array
(
[0] => blue
[1] => pink
[2] => green
[3] => yellow
)
Replacements: 1
例子 3
<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>
输出:
Array
(
[0] => B
[1] =>
[2] => !
)
⑩ 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后面开始进行下一次的检索匹配。