Files
hustoj/web/admin/md_check.php
2024-12-07 18:13:21 +08:00

35 lines
1.1 KiB
PHP

<?php
function downloadImage($url, $saveDir) {
// 获取图片内容
$imageContent = file_get_contents($url);
if ($imageContent === FALSE) {
return $url;
}
// 生成唯一的文件名
$imageName = uniqid() . basename($url);
$savePath = rtrim($saveDir, '/') . '/' . $imageName;
// 保存图片到本地
if (file_put_contents($savePath, $imageContent) === FALSE) {
return $url;
}
// 返回保存路径
return $savePath;
}
function MarkdownEntities($markdown) {
// 对markdown中的内容进行转义
$markdown = preg_replace_callback('/\$\$(.*?)\$\$/s', function ($matches) {
return str_replace(['<', '>'], ['\\lt', '\\gt'], $matches[0]);
}, $markdown);
// 对图片内容存储到本机并替换
$saveDir = "/home/judge/src/web/upload/markdown";
$markdown = preg_replace_callback('/!\[.*?\]\((.*?)\)/', function ($matches) use ($saveDir) {
$imageUrl = $matches[1];
$savedPath = downloadImage($imageUrl, $saveDir);
return str_replace($imageUrl, $savedPath, $matches[0]);
}, $markdown);
return $markdown;
}