php实现markdown转html代码

代码语言:php

所属分类:其他

代码描述:php实现markdown转html代码,将markdown文本转换成html代码。

代码标签: php markdown html 代码

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

<?php

function parseMarkdownToHtml($markdown) {
    // 定义结果HTML字符串
    $html = "";
    // 按行分割Markdown文本
    $lines = explode("\n", $markdown);

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

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

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

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

网友评论0