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

时间:2015-05-27 06:13:40

标签: javascript html string formatting markup

是否有一种简单的方法可以将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块转换为这种格式。感谢。

2 个答案:

答案 0 :(得分:1)

    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;
    }

答案 1 :(得分:0)

如果您这样做是为了在html中显示新行并返回运输,那么您不需要明确地执行此操作。您可以通过设置空白属性前置行值来在css中执行此操作。

<span style="white-space: pre-line">CommentText</span>