我正在尝试编写一个函数,该函数针对特殊HTML实体数组检查参数(例如用户输入了'&'而不是'&'),然后在这些输入的实体周围添加一个span。
我该怎么搜索字符串参数来找到它呢?它会是一个正则表达式吗?
这是我目前编写的代码:
function ampersandKiller(input) {
var specialCharacters = ['&', ' ']
if($(specialCharacters).contains('&')) {
alert('hey')
} else {
alert('nay')
}
}
显然这行不通。有人有什么主意吗?
因此,如果传入一个字符串,如My name is &
,它将呈现My name is <span>&</span>
。如果一个特殊字符被列出两次--如'I really like &&&
,它将只呈现每个元素周围的span。用户还必须能够使用普通的&
。
3条答案
按热度按时间c3frrgcw1#
FIDDLE
qc6wkl3g2#
您可以使用以下正则表达式查找并 Package 实体:
对于任何类型的实体,您也可以使用以下命令:
它匹配“word”实体以及数字实体。例如:
输出:
tyky79it3#
另一个选择是让浏览器为你解码并检查长度是否有任何不同...检查this question以查看如何取消转义实体。然后你可以比较原始字符串的长度和解码后的长度。示例如下:
上面将显示两个警报。第一个是false,然后是true。