【发布时间】:2011-09-05 16:37:41
【问题描述】:
我有以下正则表达式:
(</?[a-z][a-z0-9]*[^<>]*>)
我有以下文字:
<DIV><P class='abc'>Hello <B>Mister</B>! How are you >..< doing? </P>
<I>I'm good</I></DIV>
现在我想拆分每个标签的文本:
<DIV>
<P class='abc'>
Hello
<B>
Mister
</B>
! How are you >..< doing?
</P>
<I>
I'm good
</I>
</DIV>
如何使用 Javascript 正则表达式做到这一点?
能够让它工作,但必须重新开始,因为 javascript 不支持后视。
(基本上是在html标签上拆分并保留分隔符)
编辑:
我的目标是使用 html 来存储格式。我想将上面的 html 提供给一个 javascript 对象。 javascript 对象将格式与文本分开,并为格式化对象执行操作 A,为常规文本执行操作 B。
我知道这听起来有点含糊,但我不想透露太多关于这个项目的信息。
【问题讨论】:
-
出于好奇,您尝试使用正则表达式解析 HTML 是否有原因?除非您对输入有很多控制权,否则you may have a few problems。
-
首先,您的 HTML 无效,因此更难解析 -
>..<应编码为&gt;..&lt。其次,Parsing HTML with regex summons tainted souls into the realm of the living.
标签: javascript regex split