我在使用ASCII逗号和引号时遇到大麻烦,因为它们会导致数据库导入错误。
每当我从网站添加文本时,它也会复制其ASCII代码。
示例:
“
)"
)
(“
)< - 此引号是ASCII字符,导致数据库导入错误,每次我需要检查并用默认引号("
)<替换它/ p>
请问好吗?
答案 0 :(得分:1)
方法#1
您可以使用 Notepad ++ 执行此操作。
打开要替换的文件
单击 CTRL + H 。
在字段Find what:
中输入“
在字段Replace with:
中输入正常引号"
点击Replace all
按钮。
方法#2
您可以使用[^\x00-\x7F]+
表达式。
Regular Expression
Find what:
字段中粘贴[^\x00-\x7F]+
Find next
它将找到所有非ASCII字符。因此,您可以轻松删除/替换它们。
方法#3
Notepat++
Search
Find characters in range...
Non-ASCII Characters (128-255)
Find
像方法#2一样工作。
答案 1 :(得分:0)
永远不要相信用户输入是一个好方法。如果是受信任的用户复制和粘贴,或者是未知用户填写表单。
您应该始终清理您的输入。 ALWAYS。
像
这样的东西function sanitise($input, $arguments = array()) {
$input = htmlspecialchars($input, ENT_QUOTES | ENT_SUBSTITUTE);
if(array_key_exists('STRIP_TAGS') {
$input = strip_tags($input);
}
//..etc
return $input;
}
传递您希望传递的选项(有时您可能只想删除标签,但请离开。
但最后,请过滤所有数据,并且不要依赖于您的用户记住为您完成此操作。
如果您使用的是PHP 5.4之前的PHP版本,则可以将htmlspecialchars与preg_replace交换,并将相应的ascii代码与引号匹配。
$input = preg_replace('/[\x132]/', '"', $input);