我正在显示一个产品列表,从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, '£');
任何人都可以提供帮助,我确定这是一个根本问题吗?
答案 0 :(得分:3)
你的正则表达式在开始时缺少/
,但是,该值实际上是双重编码为£
(如果你查看源代码,你可以看到这个)。
itemHTML.replace(/£/gi, '£');
答案 1 :(得分:0)
你的正则表达式缺少开头:
var newHTML = itemHTML.replace(/£/gi, '£');
但是我只是把它变成一个字符串而不是一个正则表达式,对我来说似乎更容易:
var newHTML = itemHTML.replace('£', '£');
请注意,XML文件已对&符编码。
答案 2 :(得分:0)
您是否尝试过简单地将其括在引号中?
var newHTML = itemHTML.replace('£', '£');
...因为,是不是真的只需要替换一串文字?