简单/基本Jquery或Javascript字符串替换多个值
我有一个数据库输出:简单/基本Jquery或Javascript字符串替换多个值,javascript,jquery,str-replace,Javascript,Jquery,Str Replace,我有一个数据库输出: 示例短语 示例2短语或 示例解决方案 我需要将页面加载中的这些内容替换为: 例句 例2短语 示例与解决方案 我已经在页面上加载了jQuery,所以我可以使用jQuery解决方案,但我知道使用一些基本的Javascript也是可能的……问题是我对其中任何一个都不了解,而且我找到的示例都不能满足我的需要。我还需要能够添加更多的替代品在未来 更新:我从另一个项目中得到了这个,但它替换了页面上任何h2元素中“=”之前的所有内容(包括“=”。第一行:var re=/^[^=]+=\s
示例短语
示例2短语
或示例解决方案
var re=/^[^=]+=\s*/,
丢失了所有符号,不过:
<script>
var re = /^[^=]+=\s*/,
elements = document.getElementsByTagName('h2')
function processText(el) {
el.textContent = el.textContent.replace(re, '');
}
for(var i = 0, l = elements.length; i < l; i++) {
processText(elements[i]);
}
</script>
变量re=/^[^=]+=\s*/,,
elements=document.getElementsByTagName('h2')
函数processText(el){
el.textContent=el.textContent.replace(re.);
}
for(var i=0,l=elements.length;i
但这可能不是最有效的解决方案。你可能需要问自己:你需要案件不敏感吗?单个输入是否可以包含多个需要替换的字符串?字符串本身是完全等于替换键还是包含替换键
编辑
(已更新)根据您的更新,您可能希望对所有h2
标记执行此操作。
请尝试以下代码:
$(function() {
var REPLACEMENTS = {
'example-phrase': 'Example Phrase',
'example2-phrase': 'Example 2 Phrase',
'example-solution': 'Example & Solution'
}
function doReplacement(input) {
for (var key in REPLACEMENTS) {
input = input.replace(key, REPLACEMENTS[key]);
}
return input;
}
$('h2').each(function() {
var $this = $(this);
$this.html(doReplacement($this.html()));
});
});
但这可能不是最有效的解决方案。你可能需要问自己:你需要案件不敏感吗?单个输入是否可以包含多个需要替换的字符串?字符串本身是完全等于替换键还是包含替换键
编辑
(已更新)根据您的更新,您可能希望对所有h2
标记执行此操作。
请尝试以下代码:
$(function() {
var REPLACEMENTS = {
'example-phrase': 'Example Phrase',
'example2-phrase': 'Example 2 Phrase',
'example-solution': 'Example & Solution'
}
function doReplacement(input) {
for (var key in REPLACEMENTS) {
input = input.replace(key, REPLACEMENTS[key]);
}
return input;
}
$('h2').each(function() {
var $this = $(this);
$this.html(doReplacement($this.html()));
});
});
但这可能不是最有效的解决方案。你可能需要问自己:你需要案件不敏感吗?单个输入是否可以包含多个需要替换的字符串?字符串本身是完全等于替换键还是包含替换键
编辑
(已更新)根据您的更新,您可能希望对所有h2
标记执行此操作。
请尝试以下代码:
$(function() {
var REPLACEMENTS = {
'example-phrase': 'Example Phrase',
'example2-phrase': 'Example 2 Phrase',
'example-solution': 'Example & Solution'
}
function doReplacement(input) {
for (var key in REPLACEMENTS) {
input = input.replace(key, REPLACEMENTS[key]);
}
return input;
}
$('h2').each(function() {
var $this = $(this);
$this.html(doReplacement($this.html()));
});
});
但这可能不是最有效的解决方案。你可能需要问自己:你需要案件不敏感吗?单个输入是否可以包含多个需要替换的字符串?字符串本身是完全等于替换键还是包含替换键
编辑
(已更新)根据您的更新,您可能希望对所有h2
标记执行此操作。
请尝试以下代码:
$(function() {
var REPLACEMENTS = {
'example-phrase': 'Example Phrase',
'example2-phrase': 'Example 2 Phrase',
'example-solution': 'Example & Solution'
}
function doReplacement(input) {
for (var key in REPLACEMENTS) {
input = input.replace(key, REPLACEMENTS[key]);
}
return input;
}
$('h2').each(function() {
var $this = $(this);
$this.html(doReplacement($this.html()));
});
});
看看这个:
正如您所说,您的字符串(1)是:
上述解决方案适用于第一种情况。对于第三种情况,只需添加以下内容
var ex3 = "example-solution";
var res3 = ex3.replace("-", " ");
res3 = res3.toLowerCase().replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
});
res3 = res3.replace(" ", " & ");
我觉得每次收到回复都要检查是不可行的
多亏了来看看这个:
正如您所说,您的字符串(1)是:
上述解决方案适用于第一种情况。对于第三种情况,只需添加以下内容
var ex3 = "example-solution";
var res3 = ex3.replace("-", " ");
res3 = res3.toLowerCase().replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
});
res3 = res3.replace(" ", " & ");
我觉得每次收到回复都要检查是不可行的
多亏了来看看这个:
正如您所说,您的字符串(1)是:
上述解决方案适用于第一种情况。对于第三种情况,只需添加以下内容
var ex3 = "example-solution";
var res3 = ex3.replace("-", " ");
res3 = res3.toLowerCase().replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
});
res3 = res3.replace(" ", " & ");
我觉得每次收到回复都要检查是不可行的
多亏了来看看这个:
正如您所说,您的字符串(1)是:
上述解决方案适用于第一种情况。对于第三种情况,只需添加以下内容
var ex3 = "example-solution";
var res3 = ex3.replace("-", " ");
res3 = res3.toLowerCase().replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
});
res3 = res3.replace(" ", " & ");
我觉得每次收到回复都要检查是不可行的
多亏了,有些代码会很好。如果可能的话,最好在服务器上执行。@Juhana-这可以用PHP完成吗?@wared-这是输出的代码,只是包装在一个div中。如果这有助于“按类名获取元素”,我可以给div一个类名解决方案。一些代码会很好。如果可能的话,最好在服务器上这样做。@Juhana-这可以用PHP完成吗?@wared-这是输出的代码,只是包装在一个div中。如果这有助于“按类名获取元素”,我可以给div一个类名解决方案。一些代码会很好。如果可能的话,最好在服务器上这样做。@Juhana-这可以用PHP完成吗?@wared-这是输出的代码,只是包装在一个div中。如果这有助于“按类名获取元素”,我可以给div一个类名解决方案。一些代码会很好。如果可能的话,最好在服务器上这样做。@Juhana-这可以用PHP来完成吗?@wared-这是输出的代码,只是包装在一个div中。如果这有助于“按类名获取元素”解决方案,我可以给div一个类名。我需要的正是您如何拥有它。被替换的字符串总是相同的,需要替换的字符串总是相同的。这段代码对性能有什么影响?这取决于您运行这段代码的频率以及替换的次数。比如说,如果你有20条新闻标题和50条可能的替代品,你根本不需要关心它的性能。如果你在数千条文本上运行这篇文章,有数百条替换内容,这可能会成为一个问题。啊,幸运的是,只运行一页,可能只会发生10-20条替换内容。我是否需要一些其他代码,以便在页面加载时自动运行此功能?是的,您还需要一些代码-此函数只是在给定字符串中进行替换。将编辑我的答案,再看一眼:)完美!非常感谢。我接受了回答,这正是我所需要的。我确实必须将
$
更改为jQuery
,以避免冲突(我无法确定