| 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; |