在文中保留撇号

时间:2015-03-06 10:12:40

标签: javascript function

我的JS中有以下功能

var p = $('.page p');
    p.html(function(index, oldHtml) {
        return oldHtml.replace(/\b(\w+?)\b/g, '<span class="word">$1</span>')
    });

这打破了段落的每一个字。然而,有撇号的词(例如,不,克雷格)被分成两部分(例如don和t)

如何修改代码以制作完整的单词并保留在撇号中?

由于

2 个答案:

答案 0 :(得分:1)

你试过了吗?

&#13;
&#13;
var p = $('.page p');

p.html(function(index, oldHtml) {
  console.log(oldHtml);
  return oldHtml.replace(/([\w']+)/g, '<span class="word">$1</span>');
  
});
&#13;
.word {
  background-color: yellow;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="page">
  <p>I'm so happy that I can't stop jumping up and down.</p>
  </div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

如果你想简单地将一个字符串分成单词,你可以在空格处拆分然后重新加入......

$('.page p').each(function(){
  var p = $(this);
  var t = '<span class="word">' 
        + p.html().split(' ').join('</span> <span class="word">')
        + '</span>';
  p.html(t);
});

当然,这取决于你要处理的字符串类型,但在很多情况下这应该是基本的。