1var toString = require('./toString'), 2 unescapeHtmlChar = require('./_unescapeHtmlChar'); 3 4/** Used to match HTML entities and HTML characters. */ 5var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, 6 reHasEscapedHtml = RegExp(reEscapedHtml.source); 7 8/** 9 * The inverse of `_.escape`; this method converts the HTML entities 10 * `&`, `<`, `>`, `"`, and `'` in `string` to 11 * their corresponding characters. 12 * 13 * **Note:** No other HTML entities are unescaped. To unescape additional 14 * HTML entities use a third-party library like [_he_](https://mths.be/he). 15 * 16 * @static 17 * @memberOf _ 18 * @since 0.6.0 19 * @category String 20 * @param {string} [string=''] The string to unescape. 21 * @returns {string} Returns the unescaped string. 22 * @example 23 * 24 * _.unescape('fred, barney, & pebbles'); 25 * // => 'fred, barney, & pebbles' 26 */ 27function unescape(string) { 28 string = toString(string); 29 return (string && reHasEscapedHtml.test(string)) 30 ? string.replace(reEscapedHtml, unescapeHtmlChar) 31 : string; 32} 33 34module.exports = unescape; 35