我知道有些主题几乎涵盖相同的主题,但我找不到可以帮助我实现所需目标的主题。
所以我有一些包含单词、标点符号和 HTML 的文本
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean semper elit efficitur tempus sagittis. Vivamus at eros — quis velit ornare consequat. Vestibulum suscipit erat enim; sed bibendum augue interdum at.</p>
<p>Sed vulputate ipsum id ullamcorper vehicula. Ut ac ornare risus, id vehicula justo. Quisque pretium, lectus "et rutrum fermentum", leo mauris interdum eros, nec blandit nibh dolor nec enim.</p>
我想做的是用 <span>
包含每个单词和标点符号。元素,同时忽略并保持 HTML 标签完整。我需要包含每个标点符号,即使它们彼此相邻或与一个单词相邻。
所以输出会是这样的
<p><span>Lorem</span> <span>ipsum</span> <span>sit</span> <span>sit</span> <span>amet</span><span>,</span> (etc...)
到目前为止,我已经成功地按空格分割并将结果包含在 <span>
中。 ,但是HTML标签和标点符号让人头疼。 :P
提前致谢!
编辑:
这是我到目前为止使用的代码(如您所见,要拆分的文本位于带有 div
的 id=textarea
元素中:
$('#textarea').each(function(){
var text = $(this).html().split(" "),
len = text.length,
result = [];
for( var i = 0; i < len; i++ ) {
result[i] = '<span class="clickable">' + text[i] + '</span>';
}
$(this).html(result.join(' '));
});
最佳答案
你在使用 jQuery 吗?如果是这样,您可以使用 .text()
来解决标签和语法,相当容易地做到这一点。
$("p").each(function(i, p) {
var words = $(p).text()
$(p).html("")
$(words.split(" ")).each(function(j, word) {
var span = $("<span></span>")
span.html(word)
$(p).append(span).append(" ")
});
});
关于javascript - 使用 JavaScript 分割包含单词、标点符号,但忽略 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28970292/