PHP-从数据库输入和更新中过滤不需要的元素
我使用下面的方法去除数据库中插入或更新的所有不需要的字符 老实说,我只想允许以下字符,而不是常规字母和数字:',-,:。。。还有其他一些。几乎所有的字符都可以让人写出一个规则的短语 我走对了吗? preg_replace当前会从字符串中删除空格。我怎样才能让它停下来? 如何将想要的字符添加到preg_替换PHP-从数据库输入和更新中过滤不需要的元素,php,regex,preg-replace,Php,Regex,Preg Replace,我使用下面的方法去除数据库中插入或更新的所有不需要的字符 老实说,我只想允许以下字符,而不是常规字母和数字:',-,:。。。还有其他一些。几乎所有的字符都可以让人写出一个规则的短语 我走对了吗? preg_replace当前会从字符串中删除空格。我怎样才能让它停下来? 如何将想要的字符添加到preg_替换 public function strip($arr = array()) { if (!is_array($arr) || !count($arr)) { r
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;
}
[^A-Za-z0-9\s]
将允许A-Z或A-Z中的字符或0-9中的数字和空格。
表示空白
如果要添加某些符号,只需使用\对其进行转义即可。如果它们在正则表达式中使用,如$,则如下[^\$]
如果您需要创建正则表达式的帮助,可以使用如何:
$val = preg_replace("/[^A-Za-z0-9'):\s-]/", '', $val);
这将取代所有不是字母数字或“:-或空格的内容。您可以在角色类中添加其他想要的角色