2015-09-21 51 views
0

我使用下面的方法去除在數據庫中插入或更新的所有內容中不需要的字符。PHP - 過濾來自數據庫輸入和更新的不需要的元素

說實話,我只想用比普通的字母和數字等以下字符:'-): ......和其他幾個人。相當多的字符可以讓某人寫出一個常規的短語。

我會以正確的方式去做嗎? preg_replace當前剝離字符串的空間。我怎樣才能讓它停止? 如何添加想要的字符到preg_replace?

public function strip($arr = array()) 
{ 
    if (!is_array($arr) || !count($arr)) 
    { 
     return array(); 
    } 

    $returnArray = array(); 

    foreach($arr as $key => $val) 
    { 
     $val = $this->db->mysqli->real_escape_string($val); 
     $val = strip_tags($val); 
     //$val = preg_replace("/[^A-Za-z0-9]/", '', $val); 

     $returnArray[$key] = $val; 

    } 

    return $returnArray; 

} 

回答

0

[^A-Za-z0-9\s] 將允許從A-Z或從0-9和空格a-z或數字字符。 的\s代表空格 如果你想添加您只需用\逃避他們,如果他們在像$正則表達式中使用它看起來像這樣[^\$]

如果你需要幫助創建的正則表達式,你可以在一定的符號使用Regex101.com

0

如何:

$val = preg_replace("/[^A-Za-z0-9'):\s-]/", '', $val); 

這將取代每一件事情,是不是字母或'):-或空格 沒有。你可以在角色類中添加其他想要的角色。

相關問題