2013-03-06 96 views
0

我希望将降级样式粗体/斜体之间的文本转换为html粗体/斜体。这里有一个例子:将星号转换为粗体或斜体标签

**Bold text** is bold, *italic* text is italicized. 

应该去:

<b>Bold text</b> is bold, <i>italic</i> text is italicized. 

我看着别处SO,但大多数问题建议解析库。不过,我认为使用库将是不适合的原因如下:

  • 我试图保持代码库尽可能小
  • 解析器将有太多的功能!
  • 我想让它尽可能快&轻巧地

我应该如何去将这些标签呢?

+2

解析一下吧?这不是非常困难。 – 323go 2013-03-06 17:33:13

回答

1

在过去,我尝试过自己这样做,正如你试图手工烘烤解决方案一样。一旦添加一两个标记,您必须满足的例外情况变得非常复杂。我最终以一种不那么有效的方式重新发明了车轮。我选择采用其中一个解析库并且从不回头。

解析器将有太多的功能!

您可以通过一些解析器来定义自己的标记语言。这是我选择的。我在.Net中做过,所以我不能推荐Java版本。

我想让它尽可能快&轻巧地

任何解析库会比你自己更高效,除非你的数据进行解析的多MB的,我不认为你”我会注意到很多不同。他们通常会花费更多的时间来提高效率,我可能会愿意这样做。

我知道这是不是一个“答案”正因为如此,但是我希望我为您节省一定的时间(和延缓白发的发作),或者你指出正确的方向。

+0

我和你在一起。我试图写我自己的解析器,我已经看到了别人做到这一点。它们很少变得特别小,速度快或可读。 – 2013-03-06 18:00:08