我有一个带有一些HTML标记的字符串,但没有任何段落。我想用段落标签替换换行符,但是如果我这样做的话#34;愚蠢的方式":
html.gsub!(/\s*\n+\s*/, '</p><p>')
html = '<p>' + html + '</p>'
,然后我会得到标记重叠:
This is text. <b>Bold text.\n
Still bold,</b> now plain.
变为:
<p>This is text. <b>Bold text.</p><p>Still bold,</b> now plain.</p>
我知道HTML5允许重叠标签,但它仍然非常非常难看。我想得到这样的东西:
<p>This is text. <b>Bold text.</b></p><p><b>Still bold,</b> now plain.</p>
如何解决此问题?
UPD。 <br/>
不是我需要的 - 我打算使用Kramdown和自定义解析器从这个字符串生成Markdown,在字符串中我需要为每个段落打开和关闭标记。
答案 0 :(得分:0)
插入HTML <br>
标记。它们被明确定义为没有配对结束标记的独立标记。如果XHTML仍然是一个东西,它们将是<br/>
标签。
答案 1 :(得分:0)
通过添加<br>
标记,您可以插入一个换行符。它也没有结束标记,因此无需尝试关闭它。
如果您需要配对标签,可以使用CSS创建换行符。
<p class="break">
Break right after this and
<span>before this</span>
</p>
p.break {
span {
display: table;
}
}
如Codepen所示。