我正在使用这个search and replace jQuery脚本。 我试图将每个字符放在一个范围内,但它不适用于unicode字符。
$("body").children().andSelf().contents().each(function(){
if (this.nodeType == 3) {
var $this = $(this);
$this.replaceWith($this.text().replace(/(\w)/g, "<span>$&</span>"));
}
});
我应该更改节点类型吗?通过什么方式 ?
感谢
答案 0 :(得分:1)
用“。”替换\(只有单词字符)。 (所有字符)
答案 1 :(得分:0)
用于匹配“任何字符”的RegEx模式是.
而不是\w
(只匹配“单词字符” - 大多数JS风格中的字母数字字符和下划线[a-zA-Z0-9_]
) 。注意.
也匹配空格字符。要仅匹配和替换非空格字符,您可以使用\S
。
有关JS RegEx语法的完整列表,请参阅the documentation。
要替换任何和所有字符,请制作正则表达式/./g
$("body").children().andSelf().contents().each(function(){
if (this.nodeType == 3) {
var $this = $(this);
$this.replaceWith($this.text().replace(/(.)/g, "<span>$&</span>"));
}
});