【发布时间】:2026-01-15 14:10:01
【问题描述】:
我正在使用下面的代码将段落标签中的所有文本分成句子。除了少数例外,它工作正常。但是,段落中的标签会被咀嚼并吐出。示例:
<p>This is a sample of a <a href="#">link</a> getting chewed up.</p>
那么,我怎样才能忽略标签,这样我就可以解析句子并在它们周围放置 span 标签并保持 , 等...标签在适当的位置? 或者以某种方式走更聪明DOM 并这样做?
// Split text on page into clickable sentences
$('p').each(function() {
var sentences = $(this)
.text()
.replace(/(((?![.!?]['"]?\s).)*[.!?]['"]?)(\s|$)/g,
'<span class="sentence">$1</span>$3');
$(this).html(sentences);
});
我在 Chrome 扩展内容脚本中使用它;这意味着 javascript 被注入到它所接触的任何页面中,并动态解析 <p> 标签。因此,它需要是javascript。
【问题讨论】:
-
所以您是说您拥有的代码工作正常,但您想知道是否有其他方法可以实现相同的效果?我并没有真正遵循你想要的,或者问题是什么。
-
为了清楚起见,我的问题加粗了。我需要做我现在正在做的事情,但将所有标签保留在我正在搜索的
标签中,以便图像、链接等...保持原样。
-
编辑了我的问题,以反映我在 chrome 扩展内容脚本中使用它的事实。
-
那么你对这样的事情有什么期待呢? '
这是一个“.”的样本。在 一些元素内。您的预期结果是什么?
'
标签: javascript regex parsing nlp text-segmentation