/**
* @description 解码
* @export
* @param {*} html
* @return {*}
*/
export function decodeHtml(html) {
return html && html.replace
? html
.replace(/ /gi, ' ')
.replace(/</gi, '<')
.replace(/>/g, '>')
.replace(/\/gi, '\\')
.replace(/'/gi, "'")
.replace(/"/gi, '"')
.replace(/<br\/>/gi, '\n')
.replace(/&/gi, '&')
: html;
}
/**
* @description 编码
* @export
* @param {*} html
* @return {*}
*/
export function encodeHtml(html) {
return html && html.replace
? html
.replace(/&/g, '&')
.replace(/ /g, ' ')
.replace(/\b +/g, ' ')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/\\/g, '\')
// eslint-disable-next-line no-useless-escape
.replace(/\'/g, ''')
// eslint-disable-next-line no-useless-escape
.replace(/\"/g, '"')
.replace(/\n/g, '<br/>')
.replace(/\r/g, '')
: html;
}
// 把字符串转换为写在html标签中javascript的字符串,例如<div onclick="alert('xxx')">
export function encodeHtmlJs(html) {
return html && html.replace ? (html.replace(/\\/g, '\\\\').replace(/\'/g, '\\x27').replace(/\"/g, '\\x22').replace(/\n/g, '\\n').replace(/</g, '\\x3c').replace(/>/g, '\\x3e')) : html;
};
// 把字符串转换为写在html中属性值,例如<div title="xxx">
export function encodeHtmlAttr(html) {
return html && html.replace ? (html.replace(/\"/g, '"').replace(/\'/g, ''').replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&')).replace(/\\/g, 'c;') : html;
};
// 进行url编码
export function encodeUrl(url) {
return typeof url === 'undefined' ? '' : encodeURIComponent(url);
};
// 进行url解码
export function decodeUrl(url) {
var backUrl = '';
try {
// 如果decodeURIComponent失败, 会爆Uncaught URIError
backUrl = (typeof url === 'undefined' ? '' : decodeURIComponent(url));
} catch (e) {
backUrl = '';
}
return backUrl;
};
// 解码在html中属性值,例如<div title="xxx">
export function decodeHtmlAttr(html) {
return html && html.replace ? (html.replace(/"/gi, '"').replace(/'/gi, '\'').replace(/</gi, '<').replace(/>/gi, '>').replace(/&/gi, '&')).replace(/c;/gi, '\\') : html;
};
Source