Spaces:
Sleeping
Sleeping
/** | |
* 转义 HTML 字符 | |
* @param source | |
*/ | |
export function encodeHTML(source: string) { | |
return source | |
.replace(/&/g, '&') | |
.replace(/</g, '<') | |
.replace(/>/g, '>') | |
.replace(/"/g, '"') | |
.replace(/'/g, ''') | |
} | |
/** | |
* 判断是否为代码块 | |
* @param text | |
*/ | |
export function includeCode(text: string | null | undefined) { | |
const regexp = /^(?:\s{4}|\t).+/gm | |
return !!(text?.includes(' = ') || text?.match(regexp)) | |
} | |
/** | |
* 复制文本 | |
* @param options | |
*/ | |
export function copyText(options: { text: string; origin?: boolean }) { | |
const props = { origin: true, ...options } | |
let input: HTMLInputElement | HTMLTextAreaElement | |
if (props.origin) | |
input = document.createElement('textarea') | |
else | |
input = document.createElement('input') | |
input.setAttribute('readonly', 'readonly') | |
input.value = props.text | |
document.body.appendChild(input) | |
input.select() | |
if (document.execCommand('copy')) | |
document.execCommand('copy') | |
document.body.removeChild(input) | |
} | |