我一直在努力解决这个问题很长一段时间,代码在latin字符下运行正常,至于西里尔语,jquery根本不认识它。
$('p').each(function() { var $this = $(this);
$this.html($this.text().replace(/\b(\w+)\b/g, "<span>$1</span>"));
});
我也尝试过以下代码,但出于某种原因,jQuery会跳过每一秒的字而不包装它:(
$(this).html($(this).text().replace(/\s([a-zA-Zа-яА-ЯёЁ]+)\s/g, " <span> $1 </span> "));
任何提示?
答案 0 :(得分:0)
看来JS并不是很擅长这一点(正如@Rolice在上面的评论中提到的here)。在大多数语言中,您只需要更改区域设置。
你可能需要这样做:
replace(/(^|[^\w\u0400-\u04FF])(\w+)([^\w\u0400-\u04FF]|$)/,
"$1<span>$2</span>$3");