2014-05-02 17 views
0

我想生成HTML代码。结果被注入一个textarea。之后用户可以简单地复制结果代码。我的问题是生成的HTML代码没有制表符和换行符,这使得它很难阅读。jQuery - 如何格式化可读的HTML语法?

js fiddle

我希望它看起来像:

HTML

<ul> 
    <li>Coffee</li> 
    <li>Tea</li> 
    <li>Milk</li> 
</ul> 
+0

您是否尝试过任何可以与我们分享的内容? –

+1

像那样:http://jsfiddle.net/9NCvd/2/? –

+0

看看[这个SO问题,简单的HTML漂亮打印](http://stackoverflow.com/questions/8348545/simple-html-pretty-print) – rwisch45

回答

1

只需添加一个\n到每一行的末尾:

http://jsfiddle.net/9NCvd/3/

注意:您可以添加标签。只需使用\t

+0

我不喜欢这个答案,因为它是不是编程的东西,因此,如果我将html粘贴到文本区域将不起作用。这就是为什么我给你一个downvote。我假设用户不只是想让“textarea”获得一个值,但有能力将HTML粘贴到某种断行工具中,比如jsfiddle格式化工具可能会做的事情。 – Fallenreaper

1

你不能。这将需要HTML来格式化,并且HTML不会在textarea内呈现。如果你想格式化,沟渠textarea和使用别的东西。

编辑:我撒谎。您只需在需要换行的地方插入换行符\n

1

您不能添加制表符,但可以在每行换行后使用\n,并且可以使用(两个或四个)空格模拟制表符。

0

我认为你正在尝试做的是这样的:http://jsfiddle.net/hvuLU/

有我创建了一个解码功能。

function myDecode(s){ 
    return s.replace(/\&lt;/g,"<").replace(/\&gt;/g,">"); 
} 

这这里,将允许你这样做:

粘贴到文本框下面有个框来呈现。 Stackoverflow如何使用textarea然后渲染区域。