UNPKG

1.05 kBJavaScriptView Raw
1import toString from './toString.js';
2import unescapeHtmlChar from './_unescapeHtmlChar.js';
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
34export default unescape;