gpt4 book ai didi

javascript - 替换/忽略字符串中的 JavaScript

转载 作者:行者123 更新时间:2023-11-30 05:52:07 26 4
gpt4 key购买 nike

我用 JQuery 编写了一个小型 RSS 阅读器。起初有一个带有文章标题的屏幕,当点击标题时我会加载该文章的内容。问题是,它包含一些谷歌广告脚本,它将替换文章的内容并用广告填充整个屏幕。

以下脚本是我要替换或忽略的内容:

<script type="text/javascript"><!--
google_ad_client = "ca-pub-8356817984200457";
/* ijsselmondenieuws.nl */
google_ad_slot = "9061178822";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

所以我写了一个方法,应该通过简单的替换来删除脚本:

 var replaceScript='<script type="text/javascript"><!--\n' +
'google_ad_client = "ca-pub-8356817984200457";\n' +
'/* ijsselmondenieuws.nl */\n' +
'google_ad_slot = "9061178822";\n' +
'google_ad_width = 468;\n' +
'google_ad_height = 60;\n' +
'//-->\n' +
'</script>\n' +
'<script type="text/javascript"\n' +
'src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\n' +
'</script>';



function removeADS(ads) {
removeAD = ads.replace(replaceScript, " ");
}

但这行不通,我认为它也不灵活(如果它行得通的话)。当脚本发生变化时,应用程序将再次卡在广告处。在从 RSS 提要或更灵活的替换脚本中获取内容时,是否有某种方法可以完全忽略此脚本?

感谢任何帮助,

谢谢!

最佳答案

用regex解析xml/html不是很明智。
使用 dom 解析器(jquery 是一个漂亮的解析器……提示提示):

var rssContentString = '<rss version='2.0'>...',
xmlDoc = $.parseXml(rssContentString),
$xml = $(xmlDoc),
helper = $('<div />'),
result;


result = helper
.append(
$xml
.find('script')
.remove()
.end()
)
.text();

更新
根据新的评论,因为你得到这样的 rss 内容:

content:$.trim($(v).find("content").text())

您可以将此表达式修改为以下内容:

content:$.trim($(v).find("content").find('script').remove().end().text())

关于javascript - 替换/忽略字符串中的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14086106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com