用Javascript查找文本并替换

4

目前我的网站出现了一些问题,我在开始时犯了一个新手错误,现在问题越来越大,而且我仍然在使用过时的系统。

基本上,我的网站使用WordPress,我的下载链接存储在网站的the_content部分,而不是以某种自定义元数据的形式存储,最糟糕的是它们并不完全统一,只是半统一,这就是我遇到问题的地方。(我已经在Stack和其他网站上搜索了很多源代码来解决我的问题,但没有运气

这是我的一些代码。

СКАЧАТЬ: 320 | 320 | 320 | iTunes | iTunes | iTunes
СКАЧАТЬ: CDQ | CDQ | CDQ | iTunes | iTunes | iTunes

以上是我网站上通常显示在内容部分的内容,它总是以СКАЧАТЬ:开头,后跟至少一个链接。

我需要用<a href='download.php'>下载</a>替换整个部分,其余部分已经编码完成,但我的JavaScript知识不足。

编辑:不确定您所指的更新预期输出代码是什么,但这是您需要的。

我希望将网站上СКАЧАТЬ:后的内容从以下内容替换为以下内容。

当前:

<p style="text-align: center;"><strong>СКАЧАТЬ:</strong> <strong><a href="http://example.com">CDQ</a> | <a href="http://example.com">CDQ</a> | CDQ | <a href="http://example.com">iTunes</a> | <a href="http://example.com">iTunes</a> | iTunes</strong></p>

也许重要的是,它总是用一个<p style="text-align: center;"> </p>标签包裹着!

预期结果:

<a href='download.php'>download</a>

你想要替换什么? - Prajwal
1
@Prajwal 我不是很确定,但我认为他想要替换掉СКАЧАТЬ:后面的所有内容,尽管如此,这听起来像是一个巨大的混乱。 - Placeholder
应该输出什么? - gurvinder372
@gurvinder372 我正在尝试像Placeholder所说的那样,用我在底部提供的a href替换СКАЧАТЬ:后面的所有内容。抱歉我没有更直接地表达,我真的不知道如何解决这个问题,除了需要在Javascript中完成。 - Herbo
@Herbo,请在问题本身中更新预期输出代码 - gurvinder372
@gurvinder372 更新了。 - Herbo
2个回答

1
如果您希望得到这样的输出,那么这将对您有所帮助,否则请告诉我们您想要进行哪些更改。

(function(){
        $('p.download-link a').fadeOut(function(){
            $(this).html('<a href="download.php">download</a>').fadeIn();
        });
    
        
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p style="text-align: center;" class="download-link"><strong>СКАЧАТЬ:</strong> <strong><a href="http://example.com">CDQ</a> | <a href="http://example.com">CDQ</a> | CDQ | <a href="http://example.com">iTunes</a> | <a href="http://example.com">iTunes</a> | iTunes</strong></p>

希望这段代码片段能对您有所帮助。

请检查我更新了答案,现在它可以使用类名运行。 - Sunil Dora
请再检查一下,我已经给你的"<p>"标签添加了一个类。如果你能给你的<p>标签添加一个类,那么它将很容易为你工作。 - Sunil Dora

0

在我看来,JavaScript似乎是解决这个问题的一种方法,但最理想的情况是将内容固定在数据库中。

你有没有考虑过尝试使用MySQL查找/替换来解决这个问题?

我以前使用Interconnect It PHP工具非常成功。它得到了许多推荐。

虽然您肯定应该在使用任何工具进行查找/替换之前备份数据库,但是Interconnect It工具的一个优点是它具有干行功能,您可以运行它以查看在实际更改数据库之前,查找/替换会发生什么。

在这种情况下,我建议尝试:

替换

<p style="text-align: center;"><strong>СКАЧАТЬ:</strong> <strong><a href="http://example.com">CDQ</a> | <a href="http://example.com">CDQ</a> | CDQ | <a href="http://example.com">iTunes</a> | <a href="http://example.com">iTunes</a> | iTunes</strong></p>

使用

<p class="download_link_class"><a href="download.php">download</a></p>

我猜你会想在替换的文本周围保留一个段落标签,并且你可能想给这个新段落标签添加一个类,以便在需要不同样式时进行设置...请将上面的download_link_class替换为你想要的类名,或者如果你不需要它,完全删除class=""属性。

再次强调,在运行此工具之前,请务必备份数据库!如果你有一个单独的(演示/开发)环境,首先在其上运行此工具,以在非实时站点上实际查看结果,那将是理想的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接