项目实战解析HTML并处理特殊符号

Posted 爱吃芋圆的兔子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目实战解析HTML并处理特殊符号相关的知识,希望对你有一定的参考价值。

// 解析html
export const analysis = function (str) 
    if (!str) 
        return ''
    
    // 处理标签
    let text = replaceTag(str);
    // 处理特殊字符
    text = stripscript(text);
    // 处理回车符,反斜杠
    text = stripscript1(text);
    return text;


// 处理获取dom元素内容
export const handleText = function (el) 
    try 
        if (!el.innerText) 
            return ""
        
        let text = ""
        const innerText = el.innerText
        const innerHtml = el.innerHtml
        if(innerText)
            text = analysis(innerText);
         else if(innerHtml) 
            text = analysis(innerHtml);
        
        return text;
     catch (error) 
        console.log("error", error)
        return ""
    



// 处理标签
function replaceTag(str) 
    return str.replace(/<.*?>/g, "");


// 处理特殊字符
function stripscript(s) 
    var pattern = new RegExp("[`~!@#$^&*()=|':;',\\\\[\\\\].<>/?~!@#¥……&*()&mdash;—|【】‘;:”“'。,、?]")
    var rs = "";
    for (var i = 0; i < s.length; i++) 
        rs = rs + s.substr(i, 1).replace(pattern, '');
    
    return rs;

// 处理特殊字符
function stripscript1(str) 

    return str.replace(/(\\n|\\r|\\r\\n|↵)/g, '')

以上是关于项目实战解析HTML并处理特殊符号的主要内容,如果未能解决你的问题,请参考以下文章

slighttpd基于lighttpd架构的Server项目实战—http-parser

XML 特殊字符处理和 CDATA

读书笔记——《Maven实战》

Oracle中特殊字符&和'的处理方案

Python用特殊符号切割字符串并生成list(简单)

xml配置文件特殊符号的处理方法