我正在处理验证脚本,但遇到了一个非常特殊的问题。
如果用户输入的字符串恰好是经过编码的 html 字符(如 &
或 &
),它将输出为字符 (&在这种情况下)。我的问题是:是否可以编写一个函数来确定字符串是否为编码字符?因此,如果用户输入上述两个选项之一,我想启动一个特定的功能,如果它是一个非编码字符,我想做其他事情。
有办法吗?
最佳答案
根据定义,如果您不知道某物是否是编码的 HTML 实体,您就不知道。您要么将来自特定来源的所有文本视为已编码,要么未编码。为什么?因为这一切都只是文字。 “&”只是文本。我打算写“&”这里。我不想让任何人解释它,我希望它按字面意思显示为“&”。
你怎么知道用户的意思?如果您开始根据猜测替换用户输入的文本,在某些情况下您总是会搞砸。这是所有“:D”都被图形笑脸替换的典型情况,当您真正想输入“:D”时,这很烦人。
如果您希望始终准确保留用户输入的内容,请始终通过 HTML 编码函数运行所有用户输入,该函数将所有特殊字符替换为实体。参见 The Great Escapism (Or: What You Need To Know To Work With Text Within Text) .
关于javascript - 确定字符串是否通过 jQuery 编码为 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13703312/