2016-04-25 126 views
0

我有一個HTML實體更換&看起來像這樣:JavaScript的正則表達式mulltiple條件

function htmlEntities(str) { 
return String(str).replace(/&(?!amp;)/g, '&'); 
} 

其工作正常,不是更換&但將取代&

如何添加多個條件正則表達式的功能,以便它不會與其他html實體混淆,如:

' 
" 
> 
< 

我與測試:

var xxx = "1234 &aaa&amp; aaadas 'xxx' \" kkk <aasd> xxxxxxxxxxxxxxxx &lt;"; 

console.log(htmlEntities(xxx)); 

它將取代&lt;成爲&amp;lt;,這是不是我想要什麼,我需要它離開&lt;非觸摸就像例如&aaa&amp;成爲&amp;aaa&amp;

希望你明白我的意思,任何想法?

+1

有超過一個正則表達式(向DOM),例如更好的選擇http://stackoverflow.com/questions/7394748/whats-the-right-way-to-decode-a-string-that-has-special-html-entities-in-it/http://stackoverflow.com/問題/ 5796718/html-entity-decode –

+0

爲什麼要重新發明輪子? – NullUserException

回答

1

您可以在正則表達式中使用|來製作替代方案。

+0

'?:',而不是':?'。 –

+0

完美工作..感謝Barmar – Teddybugs