PHP生成Markdown文本简介

2018-02-25 22:32:53 PHP 阅读: 223

思路

剔除markdown的标签,为了加快速度,可以先截取前若干字符再剔除。

代码

Markdown.php

<?php

class Markdown
{
    static public function getIntro($md, $intro_count)
    {
        $md = mb_substr($md, 0, $intro_count * 2);
        //剔除[TOCM]和[TOC]
        $md = preg_replace('/\[TOCM?\]/', '', $md);
        //剔除标题符号'#'
        $md = preg_replace('/(?m)^#+/', '', $md);
        //剔除列表符号'-'
        $md = preg_replace('/(?m)^- /', '', $md);
        //剔除块代码标签
        $md = preg_replace('/(?m)^```.*/', '', $md);
        //剔除图片和链接标签,并提取文字
        $md = preg_replace('/!?\[(.*)\](\(.+\)?)?/', '$1', $md);
        //剔除行内代码标签`
        $md = preg_replace('/`(.+)`?/', '$1', $md);
        //剔除表格符合|和-
        $md = preg_replace('/[\|-]/', '', $md);
        return mb_substr($md, 0, $intro_count);
    }
}

版权声明:本文为博主原创文章,转载需注明来自: 洛洛の空间


功能
最新评论