php關鍵字過濾
⑴ php怎麼過濾特殊漢字
可以用一個文本或者一個表把特殊漢字按照一定規則存儲好,每次請求過來用strpos做過濾就好了,這種方式根據特殊漢字的多少而直接影響響應速度與訪問時長,不建議數據源過大。如果是數據源過大的話,可以考慮mysql的全文索引機制。如果是過濾所有漢字,就用ascii碼對照
⑵ 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怎樣過濾掉特殊字元啊 ☺
過濾掉特殊字元,可以考慮使用字元串替換的方法,在php中替換字元效率最高也是最簡單字元替換函數str_replace函數。
使用方法:str_replace(find,replace,string,count)
參數說明:
find 必需。規定要查找的值。
replace 必需。規定替換 find 中的值的值。
string 必需。規定被搜索的字元串。
count 可選。一個變數,對替換數進行計數。
實例:
str_replace("iwind","kiki","iloveiwind,iwindsaid");
將輸出 "i love kiki, kiki said"
當然你也可以採取正則替換的方法,該函數是preg_replace
⑷ php 如何過濾漢字啊
用正則過濾,使用[xa0-xff]可以匹配漢字
echopreg_replace('([xa0-xff]+)','',$txt);
⑸ PHP if ($_GET['key'] 過濾
如果是特殊的需要key匹配的特點去寫正則匹配.例如
$w='kjhgerz123z1iuhiugerhhg';
$s='kjhgerz2z1iuhiugerhhg';
$m='/z[0-9]{2,}/';
if(preg_match($m,$w)){
echo"出現關鍵字";
}else{
echo"關鍵字未出現過";
}
if(preg_match($m,$s)){
echo"出現關鍵字";
}else{
echo"關鍵字未出現過";
}
⑹ php 如何過濾特殊字元,如 ◆ )- : 、 、!! / 等
可以用 str_replace() 函數統一替換,如:
$string = "測試◆例子♂ 在此 !";
$replace = array('◆','♂',')','=','+','$','¥','-','、','、',':',';','!','!','/');
$string = str_replace($replace, '', $string);
echo $string;
⑺ 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怎麼過濾
使用單獨一個模塊,這個模塊負責所有的安全處理。
這個模塊被包含在所有公開的 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實現多個字元過濾功能
試著自己寫一個函數
1. 自己定義一個的數組,把這些關鍵字加到數組中去;
2. 自己在寫一個方法,功能就是把傳進該方法的(字元串)參數,通過循環的方式與數組中的每一個元素來比較,通過比對以後,如果發現該參數中有與數組中匹配的字元串,就返回false,否則就返回true;
兄弟,這是解決這個問題的思路,你自己試著寫寫,如果不行在聯系我