phpmyadmin/resources/js/modules/functions/escape.ts
Maurício Meneghini Fauth 01e4a87bbd
Move resources/js/src to resources/js
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-05-22 13:43:59 -03:00

51 lines
1.1 KiB
TypeScript

/**
* @param {string} value
* @return {string}
*/
export function escapeHtml (value = '') {
const element = document.createElement('span');
element.appendChild(document.createTextNode(value));
return element.innerHTML;
}
/**
* JavaScript escaping
*
* @param {any} unsafe
* @return {string | false}
*/
export function escapeJsString (unsafe) {
if (typeof (unsafe) !== 'undefined') {
return unsafe
.toString()
.replace('\x00', '')
.replace('\\', '\\\\')
.replace('\'', '\\\'')
.replace('&#039;', '\\&#039;')
.replace('"', '\\"')
.replace('&quot;', '\\&quot;')
.replace('\n', '\n')
.replace('\r', '\r')
.replace(/<\/script/gi, '</\' + \'script');
} else {
return false;
}
}
/**
* @param {string} s
* @return {string}
*/
export function escapeBacktick (s) {
return s.replaceAll('`', '``');
}
/**
* @param {string} s
* @return {string}
*/
export function escapeSingleQuote (s) {
return s.replaceAll('\\', '\\\\').replaceAll('\'', '\\\'');
}