utils.ts 759 B

12345678910111213141516171819202122232425
  1. /**
  2. * 解析描述或原因,转换 <, >, \n, ` 等字符串
  3. * @param str 需要解析的文本
  4. */
  5. export function parseDescription(str: string) {
  6. let isOpen = false;
  7. return str
  8. .replace(/\</g, '&lt;')
  9. .replace(/\>/g, '&gt;')
  10. .split('')
  11. .map((letter) => {
  12. if (letter !== '`') {
  13. return letter;
  14. }
  15. isOpen = !isOpen;
  16. if (isOpen) {
  17. return '<code>';
  18. }
  19. return '</code>';
  20. })
  21. .join('')
  22. .replace(/\n/g, '<br/>')
  23. .replace(/禁止/g, '<strong style="color:#db5757; font-weight:600;">$&</strong>')
  24. .replace(/必须/g, '<strong style="color:#267fd9; font-weight:600;">$&</strong>');
  25. }