php过滤用户输入危险字符串
① 用php如何过滤16进制的字符串
to: Meteorlet
$value = "\xE3";
echo addslashes($value);
addslashes 是不行的,我希望输出的是"\xE3"字符串,而不是这回个16进制表示答的字符
ctype_xdigit
-- Check for character(s) representing a hexadecimal digit
检查是否是16进制的字符串
② php过滤重复的字符
<?php
$str = '天气不错!522200011111333311111444';
function mbstringtoarray($str,$charset) {
$strlen=mb_strlen($str);
while($strlen){
$array[]=mb_substr($str,0,1,$charset);
$str=mb_substr($str,1,$strlen,$charset);
$strlen=mb_strlen($str);
}
return $array;
}
$arr = mbstringtoarray($str,"gbk"); //分割字符串
$arr =array_unique($arr); //过滤重复字符
$str = implode('',$arr); //合并数组
echo $str;
?>
去51职场看看专,有你需要的内容。属
③ php字符串过滤问题,求解
echo preg_replace("/\{(.+?)\}/","",$str);
④ php过滤某个字符前面的数字
<?php
$str='(1).文字,(2).其它文字';
$new=preg_replace('/(d)./','',$str);
echo$new;
⑤ 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后面开始进行下一次的检索匹配。
⑦ 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字符串过滤
$str = preg_replace("/^.+=(.+)$/", "新内容\\1", $str); //过滤等于号前面的所有字符串(包括等于号)
$str = preg_replace("/^(.+)=.+$/", "\\1"."新内容", $str); //过滤等于号后面的所有字符串(包括等于号)
⑨ 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),如有问题欢迎继续交流
⑩ 求一段php过滤字符串内所有img标签的代码
<?php
$a="哈哈哈<imgsrc='img.jpg'/>嘻嘻嘻<imgsrc='img.jpg'/>";
$a=preg_replace('/<img.*?/>/','',$a);
echo$a;
?>