| |
| |
| |
| |
| |
| |
| |
| |
| 'use strict'; |
|
|
| |
| |
| |
| |
|
|
| var matchHtmlRegExp = /["'&<>]/; |
|
|
| |
| |
| |
| |
|
|
| module.exports = escapeHtml; |
|
|
| |
| |
| |
| |
| |
| |
| |
|
|
| function escapeHtml(string) { |
| var str = '' + string; |
| var match = matchHtmlRegExp.exec(str); |
|
|
| if (!match) { |
| return str; |
| } |
|
|
| var escape; |
| var html = ''; |
| var index = 0; |
| var lastIndex = 0; |
|
|
| for (index = match.index; index < str.length; index++) { |
| switch (str.charCodeAt(index)) { |
| case 34: |
| escape = '"'; |
| break; |
| case 38: |
| escape = '&'; |
| break; |
| case 39: |
| escape = '''; |
| break; |
| case 60: |
| escape = '<'; |
| break; |
| case 62: |
| escape = '>'; |
| break; |
| default: |
| continue; |
| } |
|
|
| if (lastIndex !== index) { |
| html += str.substring(lastIndex, index); |
| } |
|
|
| lastIndex = index + 1; |
| html += escape; |
| } |
|
|
| return lastIndex !== index |
| ? html + str.substring(lastIndex, index) |
| : html; |
| } |
|
|