/** * @param {string} str * @return {string} */ function html_entity_decode(str) { var b = document.createElement('b'); html_entity_decode = function (str) { // We escape left brackets so that we don't inadvertently evaluate some nasty HTML such as // b.innerHTML = str.replace(/' : '>', '&' : '&', '"' : '"' }; return str.replace( /[<>&"]/g, /** * @param {string} c * @return {string} */ function(c) { return t[c]; } ); } /** * @param {string} str * @return {string} */ function htmlspecialchars_noquotes(str) { var t = { '<' : '<', '>' : '>', '&' : '&' }; return str.replace( /[<>&]/g, /** * @param {string} c * @return {string} */ function(c) { return t[c]; } ); } /** * @param {string} str * @return {string} */ function rawurlencode(str) { return encodeURIComponent(str).replace( /[!'()*]/g, /** * @param {string} c * @return {string} */ function(c) { return '%' + c.charCodeAt(0).toString(16).toUpperCase(); } ); } /** * @return {boolean} */ function returnFalse() { return false; } /** * @return {boolean} */ function returnTrue() { return true; }