1. // 解析HTML 2. export const analysis = function (str) { 3. if (!str) { 4. return '' 5. } 6. // 处理标签 7. let text = replaceTag(str); 8. // 处理特殊字符 9. text = stripscript(text); 10. // 处理回车符,反斜杠 11. text = stripscript1(text); 12. return text; 13. } 14. 15. // 处理获取dom元素内容 16. export const handleText = function (el) { 17. try { 18. if (!el.innerText) { 19. return "" 20. } 21. let text = "" 22. const innerText = el.innerText 23. const innerHtml = el.innerHtml 24. if(innerText){ 25. text = analysis(innerText); 26. } else if(innerHtml) { 27. text = analysis(innerHtml); 28. } 29. return text; 30. } catch (error) { 31. console.log("error", error) 32. return "" 33. } 34. } 35. 36. 37. // 处理标签 38. function replaceTag(str) { 39. return str.replace(/<.*?>/g, ""); 40. 41. } 42. // 处理特殊字符 43. function stripscript(s) { 44. var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]") 45. var rs = ""; 46. for (var i = 0; i < s.length; i++) { 47. rs = rs + s.substr(i, 1).replace(pattern, ''); 48. } 49. return rs; 50. } 51. // 处理特殊字符 52. function stripscript1(str) { 53. 54. return str.replace(/(\n|\r|\r\n|↵)/g, '') 55. }