Unescape apostrophe (') in JavaScript?

后端 未结 2 2051
囚心锁ツ
囚心锁ツ 2021-01-13 08:25

I\'m trying to unescape a HTML-escaped apostrophe (\"'\") in JavaScript, but the following doesn\'t seem to work on a devtools console line:

         


        
2条回答
  •  渐次进展
    2021-01-13 08:40

    By using createElement like in T.J.'s answer, you open yourself up to XSS attacks.

    DOMParser is a much safer way to correctly unescape HTML entities (including ')

    function unescape(string) {
      return new DOMParser().parseFromString(string,'text/html').querySelector('html').textContent;
    }
    
    console.log(unescape('''));

    You can use the function above with a string from any source, and the string won't be able to modify your page or steal data by including JavaScript.

提交回复
热议问题