【问题标题】:How to convert html code to a string that replaces the newlines with \n and tabs with \t如何将 html 代码转换为用 \n 替换换行符和用 \t 替换制表符的字符串
【发布时间】:2015-05-27 06:13:39
【问题描述】:

有没有一种简单的方法可以将 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 代码并将其转换为那种类型的字符串。如果没有,我会确保使用正确的后端语言,因为这种转换必须以任何方式发生。
  • thisthis 两个问题可能重复
  • 意识到我必须完全重新提出问题,但无法删除前一个问题。

标签: javascript html string formatting markup


【解决方案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;
    }

【讨论】:

  • tnx 这是一个很好的开始!
【解决方案2】:

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

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

【讨论】:

  • 谢谢,但我不能使用这种方法,因为代码是通过 javascript 推送到代码编辑器中的。
  • 你试过用这个吗? web2generators.com/html-based-tools/…
  • 它似乎没有转换格式。新的行和标签?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-11
  • 2021-09-26
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多