我们在后端用WYSIWYG编辑器开发了一些flash应用程序。我们必须在编辑器中提供更多功能,因此我们决定将自定义标签<开始更多> ......< /结束更多>在我们的WYSIWYG。
所有HTML都经过解析并转换为XML,但唯一的问题是我们需要开始更多/结束更多标签,将它们转换为自定义淡入淡出效果,以便在闪存内的帖子上显示更多内容。
长话短说,这里是XML输出示例。
Some text outside <start more> some text inside</end more>
some other text <start more>1 and some random stuff <start more>2 and
thing </end more>2 and random stuff </end more>
正则表达式以获得更多开始并结束更多
/(<start more>){1,1}(.+?)(<end more>)/
此表达式首先捕获&lt;开始更多&gt;并且第一个&lt;结束更多&gt;在字符串中。我试图做负面的前瞻断言,只获得内心最多的标签。但没有工作。
希望它有意义。如果我无法解释这个问题,请告诉我。
答案 0 :(得分:3)
你应该把它放到你说过你已经拥有的解析器中
如果您将<start more></end more>
更改为有效对,请说<more> </more>
,任何HTML解析器都应该已经正确处理,即使它不是已知标记。
如果你坚持,弱正则表达可能是:
/<start more>(((?!<(?:/end|start) more>).)+)</end more>/
答案 1 :(得分:2)
使用正则表达式正确解析xml / html是not possible。你必须编写一个合适的解析器。