1

我已经为这个问题苦苦挣扎了很长一段时间,该代码适用于拉丁字符,至于西里尔文,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> "));

有什么提示吗?

4

1 回答 1

0

看来 JS 在这方面不太擅长(正如上面评论中 @Rolice 所指出那样)。在大多数语言中,您只需要更改语言环境。

您可能必须执行以下操作:

replace(/(^|[^\w\u0400-\u04FF])(\w+)([^\w\u0400-\u04FF]|$)/,
  "$1<span>$2</span>$3");
于 2014-04-29T22:02:41.740 回答