javascript 在­使用textContent收集文本时,如何排除伪元素?

xqkwcwgp  于 2023-01-04  发布在  Java
关注(0)|答案(2)|浏览(109)

我使用textContent方法从HTML文件中收集文本。我相信伪元素­也被复制了,因为我无法替换包含此元素的单词。所有包含­(不可见)的单词都无法替换为实际单词。我尝试先使用.replace((­/g, "")替换%shy;,但仍然无法工作。
示例:
我不能用.replace(/eftersom/g, "???")替换"efter­som"正如前面所说,用.textContent收集后,元素不可见,但它似乎在那里。
我尝试了多个正则表达式,如:

.replace(new RegExp(`(\\W)(${firstWord.replace(/­/gi, "")})(\\W)`, "gi"), "$1???$3")

其中firstWord是一个变量。

qlckcl4x

qlckcl4x1#

试试这个,看看它是否有效-这应该会删除页面上所有的­

console.log(document.body.innerHTML.replace(/\u00AD/g, ''));

其工作原理是搜索Unicode字符U+00 AD。

beq87vna

beq87vna2#

如果前一个答案不起作用,试着用这个答案,它包括&shy和软连字符(&#173)的十进制版本。

.replace(/(\­|­|­)/gi, "");

此问题之前已经回答过。Remove ­ (soft hyphen) entity from element

相关问题