原创

Typecho markdown a标签支持弹出页面打开

其实我们要做的很简单,只是希望能通过_blank属性打开a标签而已。但是markdown就没有这个功能。

分析Typecho的markdown生成逻辑后,终于被我找到啦。

修改文件如下:

typecho/var/HyperDown.php

搜索:"/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]/", 或者$result = isset( $self->_definitions[$matches[2]] ) ?

在a标签中增加target=\"_blank\" 即可。注意\不能丢

如下:

$text = preg_replace_callback(
            "/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]/",
            function ($matches) use ($self) {
                $escaped = $self->parseInline(
                    $self->escapeBracket($matches[1]),  '',  false
                );
                //20200716 生成的a标签,增加新窗口打开的功能
                $result = isset( $self->_definitions[$matches[2]] ) ?
                    "<a href=\"{$self->_definitions[$matches[2]]}\" target=\"_blank\">{$escaped}</a>"
                    : $escaped;

                return $self->makeHolder($result);
            },
            $text
        ); 
温馨提示:
本文最后更新于 2020年08月18日,已超过 954 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
该篇文章的评论功能已被站长关闭
本文目录