php实现markdown转结构数组代码

代码语言:php

所属分类:其他

代码描述:php实现markdown转结构数组代码,将markdown文本转换成php的数组,每个数组元素对一个markdown文本。

代码标签: php 实现 markdown 结构 数组 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php

function parseMarkdownToStructure($markdown) {
    // 定义结果数组
    $structure = [];
    // 按行分割Markdown文本
    $lines = explode("\n", $markdown);

    // 临时变量
    $isCodeBlock = false;
    $codeBlock = [];
    $paragraph = [];

    foreach ($lines as $line) {
        // 检查是否是代码块的开始或结束
        if (preg_match('/^```/', $line)) {
            if ($isCodeBlock) {
                // 结束代码块
                $isCodeBlock = false;
                $structure[] = [
                    'type' => 'code',
                    'text' => trim(implode("\n", $codeBlock))
                ];
                $codeBlock = [];
            } else {
                // 开始代码块
                $isCodeBlock = true;
            }
            continue;
        }

        // 如果在代码块中,直接添加行内容
        if ($isCodeBlock) {
            $codeBlock[] = $line;
            continue;
        }

        // 检查是否是标题
        if (preg_match('/^(#+)\s*(.*)/', $line, $matches)) {
            // 计算标题级别
            $level = strlen($matches[1]);
            // 保存之前的段落
            if (!empty($paragraph)) {
                $structure[] = [
                    'type' => 'paragraph',
                    'text' => trim(implode("\n", $paragraph))
                ];
                $paragraph = [];
            }
            // 添加到结果数组
            $structure[] = [
                'type' => 'header',
                'le.........完整代码请登录后点击上方下载按钮下载查看

网友评论0