使用正则表达式从body元素中选择单个文本字符

问题描述 投票:0回答:2

使用正则表达式javascript或Jquery,如何选择一个单独的字符或在body元素中?我们注意到在页脚底部后面有一个随机的“s”。我们不知道它来自哪里 - 它真的很奇怪,因为它在body元素中,但它不依赖于任何子元素。它只是在一些脚本标签之间浮动。

页脚后面的's'的屏幕截图


这是脚本之间DOM中的's'


它可能来自插件 - 但与此同时,我们希望我们可以隐藏这一点,直到找到罪魁祸首。

我试图在控制台中首先选择元素,但我没有成功。

jQuery('body').filter( function(){ return /([s]$)/g.test( jQuery(this).text() ) } )

但是,我不能选择这个元素..有谁知道我怎么能这样做?非常感谢

javascript regex dom text
2个回答
1
投票

如果s是结束脚本标记之后的字符串的开头并且是该行上的唯一文本,则可以使用捕获组并在替换中使用该组$1

(<\/script>\s*\n)s$
  • (捕获组 <\/script>\s\n匹配结束脚本标记,然后是空格字符和换行符的0+次
  • )关闭捕获组
  • s匹配s
  • $字符串结尾

Regex demo

const s = `<script type="text/javascript"><\/script>
s`;

console.log(s.replace(/(<\/script>\s*\n)s$/, "$1"));

0
投票

如果你的应用程序是php,尝试在php文件的开头搜索这样的东西。这是一段只会被回应而不是被执行的代码。

s<?php
© www.soinside.com 2019 - 2024. All rights reserved.