【问题标题】:I want to strip certain characters from a textarea - PHP/Javascript [duplicate]我想从文本区域中删除某些字符-PHP/Javascript [重复]
【发布时间】:2014-01-15 19:10:34
【问题描述】:

细节


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

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

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


问题


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


问题


如何删除JavascriptPHP 中的这些字符?

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

htmlentities($sample) 已尝试转换这些字符,但仍然没有成功。

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

【问题讨论】:

  • 你能展示你当前的代码并明确解释什么是行不通的吗?
  • 如果你正在使用 mysql 数据库,你可能想看看 php 函数 mysql_real_escape_string()

标签: javascript php html regex


【解决方案1】:

正则表达式会这样做; php 的函数是preg_replace,javascript 的函数就是.replace()。您可以在任何地方找到使用 sn-ps ;)

有两种使用正则表达式的方法:

1.定义一个允许的字符范围并删除不在该范围内的任何内容。

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

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

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

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

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


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

【讨论】:

  • 我会调查的!谢谢!
猜你喜欢
  • 2013-01-05
  • 2016-03-05
  • 1970-01-01
  • 2017-06-16
  • 2014-04-19
  • 1970-01-01
  • 2018-09-12
  • 2013-04-01
  • 1970-01-01
相关资源
最近更新 更多