在某些BBCode之后删除NewLines

时间:2014-08-12 13:49:51

标签: javascript jquery

这是我的第一个问题,我真的希望有人帮助我!

我在jQuery&amp ;;中创建了一个Live BBCode到HTML转换器。 Javascript,它的工作方式就像你在textarea中输入bbcode并将其转换为下面的html,这样人们就可以看到他们实际输入的内容了。

事情很有效,但我对换行有问题,例如,如果我键入此BBcode:

[b]askamn[/b]

[hr]
[hr]

[list]
[*]a
[*]b
[*]c
[/list]

输出为:

<strong>askamn</strong>
<br>
<br>
<hr>
<hr>
<br>
<br>
<ul>
   <li>a</li>
   <li>b</li>
   <li>c</li>
</ul>

但我想这样:

<strong>askamn</strong>
<br>
<br>
<hr>
<hr>
<ul>
   <li>a</li>
   <li>b</li>
   <li>c<br></li>
</ul>

所以你看到<br>之后出现了两个额外的<hr>,这种情况正在发生,因为我按了两次输入,我希望它最多忽略这两次。 < / p>

1 个答案:

答案 0 :(得分:0)

这听起来更像是一个与风格相关的问题。根据您wanting to support的浏览器,您可以使用CSS Adjacent Sibling Combinator selector (E + F)

hr + br,
hr + br + br {
    display: none;
}

这会选择紧跟br元素之后的任何hr元素,以及其后的任何br元素。

JSFiddle demo