1

<textarea>ユーザーがテキストを入力する場所があります。テキストには、表示目的で解析して HTML タグに置き換える必要がある特殊な文字を含めることができます。
例:
太字のテキストは次のように入力され、次のよう*some text*に解析されます<strong>some text</strong>
URL は次のように入力され、次のよう#some text | to/url#に解析されます。<a href="to/url">some text</a>

このテキスト入力を解析する最良の方法は何ですか?
正規表現?(私は正規表現の経験がありません) いくつかの Python ライブラリ?
または、入力を「読み取り」、必要に応じてロジックを適用する独自のパーサーを作成する必要がありますか?

4

3 に答える 3

4

あなたが説明する言語の強調要素は、 Markdownのように見えます。

そのままMarkdownを使用することを検討する必要があります。それを解析するPythonモジュールもあります。

于 2012-05-01T12:02:24.993 に答える
1

wikiテキストを解析するためのいくつかの既存のライブラリを見ることができます:

これは、定義したのと同じ形式で機能するようです。

見出し:!見出し1テキスト!! Heading2 text !!! 見出し3テキスト

太字: 太字のテキスト

斜体: 斜体のテキスト

下線:+下線付きテキスト+

または、これは非常に単純なAPIを備えており、指定されたテキストが実際にwikiテキストであるかどうかを確認できます。

更新-pythonwikiパーサーを追加しました:

ここからウィキパーサーのリストを見てください。

Media wiki-parserは、wikiマークアップからhtmlを生成する優れたPythonパーサーのようです。

https://github.com/peter17/mediawiki-parser

于 2012-05-01T12:03:31.050 に答える
1

最善の方法は、入力した「言語」が正確に何であるかによって異なります。HTMLと同じ種類のネストされた構造がある場合は、正規表現を使用したくないでしょう。(必須リンク:正規表現は、XHTML自己完結型タグを除くオープンタグと一致します

あなたはあなた自身の小さなマークアップ言語を発明していますか?

  • あなたがいる場合:なぜですか?パーサーがすでに存在するMarkdownやreSTなどの既存のものの1つを使用してみませんか?
  • そうでない場合:なぜ独自のパーサーを作成しているのですか?もうありませんか?
于 2012-05-01T12:01:34.957 に答える