【发布时间】:2011-02-02 22:10:26
【问题描述】:
我需要在 body 标记内替换页面上的一些文本。我正在使用 javascript,但如果需要,可以使用 jquery。我基本上需要用 TEST® 或用 TESTS® 替换 test®(用注册商标进行测试),甚至可以用 TEST® 进行测试或用 TESTS® 进行测试。我可以将它们大写,但它不喜欢使用 ® 符号为我工作,它想将重复项放在已经拥有它的那些上。基本上页面上任何有单词 test 或 tests 的东西都应该是 TEST® 或 TESTS®,如果它是复数的话。任何帮助表示赞赏。
编辑:
所以现在我有了这个:
var html = $('body').html();
var html = html.replace(/realtor(s)?(®)?/gi, function(m, s1, s2){
var s = s1?s1.toUpperCase():"";
var reg = s2?s2:'®';
return "REALTOR"+s+reg;
});
$('body').html(html);
除了将 ® 复制到已经知道如何不这样做的那些上之外,它运行良好吗?
【问题讨论】:
-
只是 google javascript 文本替换,第一个链接出现在 tizag.com 上就足够了,好点点
-
使用
®或任何HTML 转义码的问题在于浏览器将其转换为实际符号。要使用字符串函数获取该符号,请使用“®”,但如果您使用匹配、替换等,则必须使用 unicode 值“\u00ae”。请参阅下面的答案。
标签: javascript jquery text replace