替换编码的£符号

时间:2012-04-02 19:05:33

标签: javascript jquery regex replace

我正在显示一个产品列表,从eBay商店读取RSS提要。

http://www.ebay.co.uk/sch/custommodsuk/_i.html?rt=nc&_rss=1&_rssstore=1

正如你所看到的,他们编写了第二个英镑符号“仅限现在购买:£45.00”

所以我已经开始为用户修改前端,我真的很难在每个产品的HTML上进行全局替换。

ebayItemsContainer.find('.listItem').each(function () {
                var itemHTML = $(this).html();
                var newHTML = itemHTML.replace(£/gi, '£');
                $(this).html(newHTML)
            });

即使没有替换上的半冒号,它也不会用实际字符替换编码字符。

还逃避角色错误......

var newHTML = itemHTML.replace(\&\#163\;/gi, '£');

任何人都可以提供帮助,我确定这是一个根本问题吗?

3 个答案:

答案 0 :(得分:3)

你的正则表达式在开始时缺少/,但是,该值实际上是双重编码为​​£(如果你查看源代码,你可以看到这个)。

itemHTML.replace(/£/gi, '£');

答案 1 :(得分:0)

你的正则表达式缺少开头:

var newHTML = itemHTML.replace(/£/gi, '£');

但是我只是把它变成一个字符串而不是一个正则表达式,对我来说似乎更容易:

var newHTML = itemHTML.replace('£', '£');

请注意,XML文件已对&符编码。

答案 2 :(得分:0)

您是否尝试过简单地将其括在引号中?

var newHTML = itemHTML.replace('£', '£');

...因为,是不是真的只需要替换一串文字?