0

我希望修改parsedown内联图像实现以生成带有 <figure> 和 <figcaption> 标签的输出,其中 figcaption 文本将与图像alttitle属性相同。即,以下降价

![Fig.1 - Trulli, Puglia, Italy.](pic_trulli.jpg)

转换成

<figure>
  <img src="pic_trulli.jpg" alt="Fig.1 - Trulli, Puglia, Italy.">
  <figcaption>Fig.1 - Trulli, Puglia, Italy.</figcaption>
</figure>

最初,尝试了类似这样的代码,

protected function inlineImage($Excerpt)
    {
        if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[')
        {
            return;
        }

        $Excerpt['text']= substr($Excerpt['text'], 1);

        $Link = $this->inlineLink($Excerpt);

        if ($Link === null)
        {
            return;
        }

        $Inline = array(
            'extent' => $Link['extent'] + 1,
            'element' => array(
                'name' => 'figure',
                'elements' => array(
                    array(
                        'name' => 'img', 
                        'attributes' => array(
                            'src' => $Link['element']['attributes']['href'],
                            'alt' => $Link['element']['text'],
                        )
                    ),
                ),
            ),
        );
        return $Inline;
    }

它只是输出一个<figure />标签,但我期望像<figure><img src="..." alt="..."></figure>. 这段代码有什么问题?

4

0 回答 0