[英]Convert a string containing HTML entities to uppercase
在JavaScript中,如何將包含HTML實體的字符串轉換為大寫。 以字符串 'Cafés & Bars' 為例:
Cafés & Bars
它需要轉換為:
CAFÉS & BARS
如果使用toUpperCase()
,它會破壞兩個實體。 如果文本要大寫,然后文本在&
和;
之間被小寫,那么急音 E 將保持小寫。
在我的特殊情況下,我無法使用text-transform: uppercase
樣式來解決這個問題。
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
這將是咖啡館及酒吧
如果您可以控制文本表示,則可以使用(或將文本命名實體轉換為)十進制 HTML 實體; 它們不會轉換為大寫,因為數字只有一種情況。
所以:
而不是&
使用&
而不是<
使用<
而不是"
使用"
等等
我希望這個小提琴中有足夠的示例為您解決問題。 僅供參考,您沒有提及是否使用jQuery,如果您只需要普通JS,我可以進行更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.