我有一个简单的textarea <textarea></textarea>
此textarea的值通过ajax发送并存储在数据库中。
此数据库中的值可在iPad(或iPad mini或iPhone等)上查看
当有人从某个地方复制文本时(可能是互联网上的任何地方),我想从文本中删除任何奇怪的字符,例如:“windows-1252 quotes”
,然后将其存储在utf8_unicode_ci
列中数据库。此列存储上述引号但在某些设备(如iPad)上未知
如何在Javascript
或PHP
?
string.replace
已尝试从各种示例中删除这些字符。
htmlentities($sample)
以转换这些字符,但仍然没有运气。
任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
正则表达式会这样做; php的功能是preg_replace
,javascript只是.replace()
。你可以在任何地方找到使用片段;)
使用正则表达式有两种方法可以解决这个问题:
<强> 1。定义允许的字符范围并去除不在该范围内的任何内容。
[^\w-=+()!@#$%^*(]
将匹配此字符范围内的任何内容(字符类开头的^
表示此情况)。然后,您可以获取生成的匹配字符并替换为空字符串。
工作示例:http://regex101.com/r/zK2qW6
<强> 2。定义一个不允许的字符范围并去除该范围内的任何内容。
[“”]
将匹配此字符范围内的任何内容。然后,您可以获取生成的匹配字符,并再次替换为空字符串。你也可以在这里使用正则表达式unicode range。
工作示例:http://regex101.com/r/yG4qJ4
最后,您应该选择需要最小表达式的路径。如果只需要替换少数几个字符,请使用选项#2。如果您只想允许少数几个字符,请使用选项#1。