我在网页中有一个文本框,我正在使用 javascript 来解析和修改 HTML 格式。 90% 的效果非常好,我试图支持的最后一个主要内容是从 word 文档复制和粘贴。我基本上完全明白了,我只是有点卡在查找列表并将它们包装在 UL 标签中..
因此,我想使用正则表达式在这段文本中找到列表:
<p>paragraph goes here
<li>goes here<br/>
<li>list item 2<br/>
<li>list item 3<br/>
<p>another paragraph
并包裹<li>
带有 <ul>
的部分标签。我的正则表达式 foo 不太好,有人可以帮忙吗?
-----更新-----
虽然我感谢所有反馈,基本上表明我需要从头开始解决这个问题,但我没有时间这样做。我完全理解正则表达式不是处理 HTML 格式的理想方式,但我现在如何使用它,它将处理我的用户希望做的大部分事情。我只需要 HTML 标记的子集,而不是完整的 HTML 编辑器。
我的内容来源将是用户从 word 文档(大约 99.9%)复制和粘贴的时间。我使用正则表达式将 HTML 标签插入到纯文本中。对于列表,我发现项目符号字符 MS word 插入到它的复制文本中并将其替换为 <LI>
标签。我只是想让包装 <LI>
更加用户友好带有 <UL>
的标签标签。
我将研究如何正确结束我的标签,所以..假设它们正确结束,用 <ul>
包装我的列表项的正则表达式是什么?标签?
谢谢!
最佳答案
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski
正则表达式和 HTML 尤其不适合。
现在是 2009 年,请在您的 HTML 中使用结束标记。 (如果您真的想要对您的 html 进行正则表达式,那么仅此一项就可以帮助您。
如果您已经在浏览器中获得此页面,请使用 DOM!让浏览器为您解析 HTML(必要时将其插入隐藏的 div)并导航生成的 DOM 树。
关于regex - 用于在 HTML 中查找列表起始端的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/832060/