将星号转换为粗体或斜体标签

时间:2013-03-06 17:28:01

标签: java android

我想将markdown样式粗体/斜体之间的文本转换为html粗体/斜体。这是一个例子:

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

应该去:

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

我在其他地方看过SO,但大多数问题都推荐了一个解析库。但是,我认为使用库不适用于以下原因:

  • 我正在努力保持代码库尽可能小
  • 解析器功能太多了!
  • 我想尽快做到尽可能轻量化

那我该如何转换这些标签?

1 个答案:

答案 0 :(得分:1)

我过去曾尝试过这样做,正如你试图亲自解决问题一样。一旦添加一个或两个以上的标记,您必须满足的例外数量变得非常复杂。我最终以一种不那么有效的方式重新发明了轮子。我选择采用其中一个解析库而且从不回头。

  

解析器功能太多了!

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

  

我想尽快做到这一点尽可能轻量化

任何解析库都会比你自己的解析库更高效,除非你解析很多MB数据,否则我认为你不会发现很多不同。他们通常花费更多的时间来提高效率,我可能会愿意。

我知道这不是一个“答案”,但我希望我能节省你一些时间(并延迟发白)或指向正确的方向。