0

マークダウン変換にMichelFortinのPHPMarkdownを使用していますが、画像をインラインではなくリンクとして表示したいと思います。誰でもImgurから5MBのjpgを挿入して、ページの速度を落とすことができるからです。

画像を画像にリンクするように変更するにはどうすればよいですか?

4

2 に答える 2

1

オーバーライドの例は次のようになります。

class CustomMarkdown extends Markdown
{
    function _doImages_reference_callback($matches) {
        $whole_match = $matches[1];
        $alt_text    = $matches[2];
        $link_id     = strtolower($matches[3]);

        if ($link_id == "") {
            $link_id = strtolower($alt_text); # for shortcut links like ![this][].
        }

        $alt_text = $this->encodeAttribute($alt_text);
        if (isset($this->urls[$link_id])) {
            $url = $this->encodeAttribute($this->urls[$link_id]);
            $result = "<a href=\"$url\">$alt_text</a>";
        } else {
            # If there's no such link ID, leave intact:
            $result = $whole_match;
        }

        return $result;
    }

    function _doImages_inline_callback($matches) {
        $whole_match    = $matches[1];
        $alt_text       = $matches[2];
        $url            = $matches[3] == '' ? $matches[4] : $matches[3];
        $title          =& $matches[7];

        $alt_text = $this->encodeAttribute($alt_text);
        $url = $this->encodeAttribute($url);
        return "<a href=\"$url\">$alt_text</a>";
    }
}

デモ: http://codepad.viper-7.com/VVa2hP

于 2013-02-14T20:00:09.030 に答える
0

Parsedownをご覧ください。これは最近のもので、Markdown の実装を拡張するのはより簡単だと思います。

于 2014-05-02T10:09:00.407 に答える