我希望修改parsedown内联图像实现以生成带有 <figure> 和 <figcaption> 标签的输出,其中 figcaption 文本将与图像alt
或title
属性相同。即,以下降价
![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>
. 这段代码有什么问题?