我正在制作一个使用ROR的基本讨论板。当用户发布对消息的响应时,输入的textarea会使用标签预先填充引号中的消息:[QUOTE]。由于这种格式是:找到嵌套开启和关闭标签的最佳方法
[QUOTE]引述消息放在这里[/ QUOTE]
目前,我有一个简单的解决方案,取代[QUOTE]和[/ QUOTE]使用HTML message.sub('[QUOTE]','html here here')只要[QUOTE]或[/ QUOTE]仍然存在。当我回复引用的消息时,我将HTML转换回[QUOTE]标签以确保预填充的输入textarea在其中没有HTML。因此,报价的报价,看起来像:
[QUOTE] [QUOTE]这里引述消息[/ QUOTE] [/ QUOTE]
这是问题所在。如果我再次运行我目前的方法,我会喜欢重复的HTML字段:
<div class='test'><div class='test'>quoted message goes here</div></div>
相反,我希望能有一个解决方案,看起来像:
<div class='test1'><div class='test2'>quoted message goes here</div></div>
等等.. 。 有关循环此最佳方法的任何建议?
这看起来很完美!既然你提到它,我很好奇你将如何使用这个解决方案来处理无效的嵌套对? – Marc 2012-02-22 20:18:50
你必须确保'quote_level'在任何时候都不会低于零,这意味着你已经关闭了太多,并且在转换结束时它正好是'0',否则你会有未封闭的标签。 – tadman 2012-02-22 21:02:44