用jQuery替换字符串

时间:2013-06-09 21:32:20

标签: replace escaping str-replace

我想替换HTML代码中的所有分数:
1/2 => ½½
1/4 => ¼¼
......所有分数。

我试试

$(document).ready(function() {
    var strNewString = $('body').html().replace(/\1/2/g,'½');
    $('body').html(strNewString);
}); // END jQuery document ready

它对我不起作用。我需要一些帮助,应该是逃避问题,还是? 或者我可以使用jQuery插件来获得更智能的字形和特殊的拼写错误字符吗?

感谢
Ogni

2 个答案:

答案 0 :(得分:0)

这适合我;-)是的,这是一个逃避问题!

$(document).ready(function() {
var strNewString = $('body').html().replace(/1\/2/g,'½');
$('body').html(strNewString);
}); // END jQuery document ready

答案 1 :(得分:0)

您还可以使用数字类和正则表达式中的捕获组来匹配更通用的解决方案:

$(document).ready(function() {
    var fractionMatcher = /(\d+)\/(\d+)/g;
    var strNewString = $('body').html()
                       .replace(fractionMatcher,'<sup>$1</sup> &frasl; <sub>$2</sub>');
    $('body').html(strNewString);
}); // END jQuery document ready

这是一个小提琴,展示了它的实际效果:

http://jsfiddle.net/9brEw/1/

它与上面显示的分数符号不完全相同,但它可以匹配任意分数(不仅仅是1 / 2,1 / 4等......)。