2011-08-08 12 views
2

現在、コメントシステムが統合されたシステムで作業しています。システムはCodeigniter上で動作していますので、マークダウンライブラリを作成しようとしていますが、シンプルなマークダウンクラスを作成する

機能は持っているために探してイムAutolinking

  • 太字*bold*
  • 斜体_italic_
    • であり、それは事実上、それは、ポストデータが前にCodeIgniterのXSSクラスを介して実行されるのですマークダウンクラスに進む

      だから私の質問はこれを行うための最良の方法です、私はゼロから、場合は場合は、どのように私はどのようなものを取る必要がありますビルドする必要がありますそこにライブラリを使用して特定の機能を無効にする必要があります考慮する。

    答えて

    4

    私は最近、何らかのマークアップ(BB、Markdownなど)をサポートしたいと思っていました。約100年の間、BBCodeは何もされておらず、正式なマークアップのための正規表現パーサーを書くのは簡単ではないので、私は本当に素朴な骨の関数を書いてこれを行うだけです。

    私のバージョンには、イメージ、コード、カラーサポート、ネストされたタグ([b][i]bold and italic[/i][/b])も含まれています。

    function parseBBCode($string){ 
        $search = array(
         '/\[b\](.*?)\[\/b\]/', 
         '/\[i\](.*?)\[\/i\]/', 
         '/\[u\](.*?)\[\/u\]/', 
         '/\[img\](.*?)\[\/img\]/', 
         '/\[url\=(.*?)\](.*?)\[\/url\]/', 
         '/\[code\](.*?)\[\/code\]/', 
         '/\[color\=(.*?)\](.*?)\[\/color\]/' 
        ); 
        $replace = array(
         '<strong>\\1</strong>', 
         '<em>\\1</em>', 
         '<u>\\1</u>', 
         '<img src="\\1">', 
         '<a href="\\1" target="_blank">\\2</a>', 
         '<code>\\1</code>', 
         '<span style="color:\\1;">\\2</span>' 
        ); 
        $new = preg_replace($search, $replace, $string); 
        return nl2br($new); 
    } 
    
    2

    PHP Markdown classから始めることができますか?

    またはCIのもの。

    そして、私が提案してもよい場合は、フロントエンドとしてMarkItUpを試すことができます。..

    2

    は私のために値下げを統合する最も簡単な方法は、単純に

    • 自分のアプリケーションにMichel Fortrinからmarkdown.phpを置くことです/ helpers/folder、
    • 名前を変更するにはmarkdown_helper.php
    • $ this-> load-> helper( 'markdown');でロードしてください。

    ...私のような誰かがこの古いスレッドに再び遭遇します:)

    関連する問題