0

文字列を別の文字列に変換する必要があります。例は次のとおりです。

#Fashion #Helmet #Woman #Scifi [ ![t](http://24.media.tumblr.com/tumblr_mbv08xkdzy1qfzis2o1_1280.gif) ](http://bit.ly/P1omax) Rob Goodwin

これをHTMLコードに変換する必要があります。

#Fashion #Helmet #Woman #Scifi<a href="http://bit.ly/P1omax"><img src="http://24.media.tumblr.com/tumblr_mbv08xkdzy1qfzis2o1_1280.gif" /></a>

それを行うJavaライブラリはありますか?


アップデート

Markdownと非常によく似ています。しかし、markdownjで処理すると、厄介なHTMLが生成されます。

<h1>Fashion #Helmet #Woman #Scifi</h1>

<p><a href="a href="http://24.media.tumblr.com/tumblr_mbv08xkdzy1qfzis2o1_1280.gif">http://24.media.tumblr.com/tumblr_mbv08xkdzy1qfzis2o1_1280.gif</a"> <img src="<a href="http://bit.ly/P1omax">http://bit.ly/P1omax</a>" alt="t</a> " />
Rob Goodwin</p>

更新2

MarkdownをHTMLに変換できる3つのJavaライブラリはすべて、リンク内の画像の認識に問題があります。

私が使用することにしたアプローチは、2段階のアプローチです。

  • ライブラリを実行します。
  • Javaコードを使用してエラーを修正します。

これは理想的なソリューションではありませんが、機能します。

4

3 に答える 3

2

inputstringはマークダウンですか?はい、http://daringfireball.net/projects/markdown/dingusで動作します。

<h1>Fashion #Helmet #Woman #Scifi <a href="http://bit.ly/P1omax"> <img src="http://24.media.tumblr.com/tumblr_mbv08xkdzy1qfzis2o1_1280.gif" alt="t" title="" /> </a> Rob Goodwin</h1>

したがって:http ://code.google.com/p/markdownj/ または: http: //en.wikipedia.org/wiki/List_of_Markdown_implementations

https://github.com/sirthias/pegdownは問題ないようです。彼らが主張します:

[ペグダウン]は元のMarkdownテストスイートに完全に合格します

于 2012-10-14T12:28:13.717 に答える
1

正規表現を使用してテキストからURLを抽出し、テンプレート出力文字列に連結することができます。

URLを抽出するために必要な正規表現の例はたくさんあります。たとえば、これはです

上記の方法を使用すると、次のように書くことができます。

String[] split = yourInput.split("[ ![t](");
String[] urls = pullLinks(yourInput)
String output = split[0] + "<a href=\"" + urls[1] + "\"><img src=\"" + urls[0] + "\" /></a>";
于 2012-10-14T12:21:29.273 に答える
0

最善の策は、XSLTの使用を検討することです。JavaにはJAXPライブラリの一部としてXSLTが含まれており、これにより、XSLを使用してパターンマッチングと変換ルールを定義し、それらを入力テキストに適用できます。Eclipseには、XSLをビルドしてテストできる優れたツールがあります。

于 2012-10-14T12:00:57.490 に答える