| var toString = require('./toString'), | |
| unescapeHtmlChar = require('./_unescapeHtmlChar'); | |
| /** Used to match HTML entities and HTML characters. */ | |
| var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, | |
| reHasEscapedHtml = RegExp(reEscapedHtml.source); | |
| /** | |
| * The inverse of `_.escape`; this method converts the HTML entities | |
| * `&`, `<`, `>`, `"`, and `'` in `string` to | |
| * their corresponding characters. | |
| * | |
| * **Note:** No other HTML entities are unescaped. To unescape additional | |
| * HTML entities use a third-party library like [_he_](https://mths.be/he). | |
| * | |
| * @static | |
| * @memberOf _ | |
| * @since 0.6.0 | |
| * @category String | |
| * @param {string} [string=''] The string to unescape. | |
| * @returns {string} Returns the unescaped string. | |
| * @example | |
| * | |
| * _.unescape('fred, barney, & pebbles'); | |
| * // => 'fred, barney, & pebbles' | |
| */ | |
| function unescape(string) { | |
| string = toString(string); | |
| return (string && reHasEscapedHtml.test(string)) | |
| ? string.replace(reEscapedHtml, unescapeHtmlChar) | |
| : string; | |
| } | |
| module.exports = unescape; |