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;
?>