如何将 html 代码转换为用 \n 替换换行符并用 \t 替换制表符的字符串

How to convert html code to a string that replaces the newlines with \n and tabs with \t

有没有一种简单的方法可以将以某种方式构建的 HTML 代码转换为单个字符串(然后可以在 Javascript 变量中使用)。 html 代码中的新行和制表符需要转换为 \n 和 \t,以便格式保持完整。

示例HTML:

<html>
    <head>
         <title>Hello World</title>
    </head>
    <body>
        <h1>Title</h1>
            <h2>Subtitle</h2>
                <p>Some text goes here</p>
    </body>
 </html>

我已经手动将其转换为:

<html>\n\n\t<head>\n\t\t <title>Hello World</title>\n \t</head>\n\n \t<body>\n \t\t<h1>Title</h1>\n \t\t\t<h2>Subtitle</h2>\n \t\t\t\t<p>Some text goes here</p>\n \t</body>\n\n </html>\n

有没有一种简单的方法可以自动执行此操作?因为我需要将更大的 HTML 块转换为这种格式。谢谢

如果您这样做是为了在 html 中显示换行符和 return 回车符,那么您不需要明确地执行此操作。您可以在 css 中通过设置 white-space 属性行前值来实现。

<span style="white-space: pre-line">CommentText</span>
    function format(data) {
        var returnStr = "";
        var lines = data.split("\n");
        var block = [];
        for (var i = 0; i < lines.length; i++) {
            block = lines[i].split('\t');
            for (var j = 0; j < block.length; j++) {
                returnStr += block[j];
                if (block.length>1) {
                    returnStr +=  "\t";
                }
            };
            returnStr +=  "\n";
        };
        return returnStr;
    }