将包含HTML实体的字符串转换为大写

时间:2011-11-03 05:25:57

标签: javascript

在JavaScript中,如何将包含HTML实体的字符串转换为大写。拿字符串'Cafés& amp;酒吧'例如:

Cafés & Bars

需要转换为:

CAFÉS & BARS

如果使用toUpperCase(),则会破坏两个实体。如果文本是大写的,然后&;之间的文字较低,则急性E将保持小写。

在我的特定情况下,我无法使用text-transform: uppercase样式解决此问题。

2 个答案:

答案 0 :(得分:1)

function decodeEntities(string){
var elem = document.createElement('div');
elem.innerHTML = string;
return elem.textContent;
}

然后只需执行decodeEntities('Cafés & Bars').toUpperCase();之类的操作 但请注意,当您这样做时,您返回的文字将不是CAFÉS & BARS它将是CAFÉS& BARS

答案 1 :(得分:0)

我希望在这个小提琴中有足够的例子为你解决问题。仅供参考,你没有提到你是否使用jQuery,如果你只需要香草JS,我可以更新。

http://jsfiddle.net/hafichuk/APNWh/