我想从textarea中删除某些字符 - PHP / Javascript

时间:2014-01-15 19:10:34

标签: javascript php html regex


详情


我有一个简单的textarea <textarea></textarea>

此textarea的值通过ajax发送并存储在数据库中。

此数据库中的值可在iPad(或iPad mini或iPhone等)上查看


问题


当有人从某个地方复制文本时(可能是互联网上的任何地方),我想从文本中删除任何奇怪的字符,例如:“windows-1252 quotes”,然后将其存储在utf8_unicode_ci列中数据库。此列存储上述引号但在某些设备(如iPad)上未知


问题


如何在JavascriptPHP

中删除这些字符

string.replace已尝试从各种示例中删除这些字符。

已尝试

htmlentities($sample)以转换这些字符,但仍然没有运气。

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

正则表达式会这样做; php的功能是preg_replace,javascript只是.replace()。你可以在任何地方找到使用片段;)

使用正则表达式有两种方法可以解决这个问题:

<强> 1。定义允许的字符范围并去除不在该范围内的任何内容。

[^\w-=+()!@#$%^*(]将匹配此字符范围内的任何内容(字符类开头的^表示此情况)。然后,您可以获取生成的匹配字符并替换为空字符串。

工作示例:http://regex101.com/r/zK2qW6

<强> 2。定义一个不允许的字符范围并去除该范围内的任何内容。

[“”]将匹配此字符范围内的任何内容。然后,您可以获取生成的匹配字符,并再次替换为空字符串。你也可以在这里使用正则表达式unicode range

工作示例:http://regex101.com/r/yG4qJ4


最后,您应该选择需要最小表达式的路径。如果只需要替换少数几个字符,请使用选项#2。如果您只想允许少数几个字符,请使用选项#1。