❶ php怎麼過濾
使用單獨一個模塊,這個模塊負責所有的安全處理。
這個模塊被包含在所有公開的 PHP 腳本的最前端(或者非常靠前的部分)。
參考下面的腳本security.inc
<?php
switch($_POST['form'])
{
case'login':
$allowed=array();
$allowed[]='form';
$allowed[]='username';
$allowed[]='password';
$sent=array_keys($_POST);
if($allowed==$sent)
{
include'/inc/logic/process.inc';
}
break;
}
?>
❷ 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過濾字元串幾個例子
用正則表達式替換。
因為你沒有詳細說明,所以我無法給你演示,找一本正則表達式手冊,如果你熟悉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 如何過濾特殊字元 如 ◆ )- : 、 、!! / 等
PHP 中的 preg_replace() 函數可以實現
實例:只匹配中文
<?php
$str="php)!!編程";
echopreg_replace("/[^x{4e00}-x{9fa5}]/iu",'',$str);
?>
❺ php字元串過濾
$str = preg_replace("/^.+=(.+)$/", "新內容\\1", $str); //過濾等於號前面的所有字元串(包括等於號)
$str = preg_replace("/^(.+)=.+$/", "\\1"."新內容", $str); //過濾等於號後面的所有字元串(包括等於號)
❻ php正則表達式過濾某些HTML標簽代碼
如果只要
<b>
標簽,不用「過濾」的方法,用「提取」的方法更簡單。
$str
=
'<img
src="xxx"><b>aaa</b><br>\n<b>b\nbb</b><span
style="color:#FF0000;">yyy</span>';
$pattern
=
'/<b>(((?!<\/b>).)*)<\/b>/mi';
preg_match_all($pattern,
$str,
$matches,
PREG_SET_ORDER);
print_r($matches);
輸出
Array
(
[0]
=>
Array
(
[0]
=>
<b>aaa</b>
[1]
=>
aaa
[2]
=>
a
)
[1]
=>
Array
(
[0]
=>
<b>b\nbb</b>
[1]
=>
b\nbb
[2]
=>
b
)
)
$matches[0][0],$matches[1][0]
是你想要的結果?
❼ php過濾標簽如何實現,求高手指導
正則表達式:[.*?]
替換為空
完整的php程序如下:
<?php
$str='[backcolor=#ffffff][color=#333333][font=宋體,tahoma,arial]呵呵1233我是簡介[/font][/color][/backcolor]';
$str=preg_replace('#[.*?]#','',$str);
echo$str;
?>
運行結果:
呵呵1233我是簡介
❽ PHP如何過濾單引號
<?php
functiongetpost($arr){
if(get_magic_quotes_gpc()){
$arr=is_array($arr)?array_map('stripslashes',$arr):stripslashes($arr);
}
if(is_array($arr)){
foreach($arras$key=>$val){
$arr[$key]=htmlspecialchars($val,ENT_QUOTES);//html實體轉換
$arr[$key]=mysql_real_escape_string($arr[$key]);//防注入替換
}
}else{
$arr=htmlspecialchars($arr,ENT_QUOTES);//html實體轉換
$arr=mysql_real_escape_string($arr);//防注入替換
}
return$arr;
}
?>
//該函數是我自己寫的一個轉換函數,主要用於防sql注入和跨站攻擊,參數可以是數組,或字元串
//$post_array=getpost($_POST);//即可完成對敏感字元的處理
❾ 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正則過濾掉<p></p>
<p>(<img([^>]*)/>)</p>
這樣子就可以提出圖片出來了