PHP实现Markdown文章上传到七牛图床的实例内容_php实例

来源:脚本之家  责任编辑:小易  

网上找一下,在线html 到 JS相互转换的倒是看到有。html 转换到 asp php,jsp好像一般情况下没什么用吧。因为 这几种脚本下面本来就可以直接使用html。不用转换www.zgxue.com防采集请勿采集本网。

在使用 Markdown 编写文章之后,经常需要发布到不同的平台,这里会遇到一个问题,文章的图片需要手动的进行上传,管理起来非常不方便,因此,强烈建议将图片统一上传到图床中,这样的话一篇文章就可以轻松的同步到各大平台上面了。下面,用 PHP 来实现该功能,选用 七牛云 作为图床

其中最好的当属Jetpack,它也是实现Markdown支持的方式。另有一个JP Markdown插件,插件说明是Jetpack的Markdown模块,笔者没有使用过,读者若有兴趣,可自行尝试。在WordPress ? Jetpack by WordPress.

创建并进入项目

新浪博客目前还没有直接将某篇文章置顶的功能。但可以采取以下法实现:1、新浪博客中的文章是按照发表时间的逆顺排列,即最近发表的文章排在前面。这符合人们阅读博客的惯例。因此,通过修改文章的发表

$ mkdir markdown-images-to-qiniu$ cd markdown-images-to-qiniu

一般来说。markdown在使用过程中需要实时预览,所以会使用前端的markdown解析器。根据你的业务需求,可以选择在表单提交时,是仅存储markdown还是同时存储markdown标签以及解析后的html代码。我

安装七牛官方的扩展

今天小编要介绍的是如何用markdown语言记漂亮整齐的笔记,演示的软件是为知笔记,因为这是目前唯一一款可以完全支持markdown语言的笔记产品。废话少说,下面小编来为大家演示用为知笔记PC桌面端

$ composer require qiniu/php-sdk

这是后台发布文章的编辑器。Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。

实现思路很简单

● 读取 makrdown 文件

● 正则匹配出所有的图片

● 依次上传图片

● 将文章图片的地址替换为图床地址

● 保存替换后的文章

以下是具体的实现,首先在项目目录下创建脚本 index.php,

<?phprequire 'vendor/autoload.php';use Qiniu\Auth;use Qiniu\Storage\UploadManager;// 1. 读取 `makrdown` 文件$file = $argv[1];if(! file_exists($file) ){ return "找不到文件{$file}";}$orginalContent = file_get_contents($file);// 2. 正则匹配出所有的图片preg_match_all( '/\!\[.*\]\(.+\)/', $orginalContent, $matches, PREG_PATTERN_ORDER);$mdImageArr = $matches[0];if(! count($mdImageArr) ){ return "无需上传图片";}// 3. 依次上传图片$accessKey = '你的 AccessKey';$secretKey = '你的 SecretKey';$bucket = '你的七牛空间名'; // eg. mindgeek$url = "空间所绑定的域名"; // eg. http://qiniu.site.com$auth = new Auth($accessKey, $secretKey);$token = $auth->uploadToken($bucket);$uploadMgr = new UploadManager();$content = $orginalContent;foreach ($mdImageArr as $image) { $start = mb_strpos($image, '](') + 2; $localPath = mb_substr($image, $start, -1); $extension = pathinfo($localPath)['extension']; $uploadPath = uniqid(). ".". $extension; list($ret, $error) = $uploadMgr->putFile($token, $uploadPath, $localPath); if(! $error ){ // 4. 将文章图片的地址替换为图床地址 $content = str_replace($localPath, $url.$uploadPath, $content); echo "{$uploadPath} 上传成功。\n"; } else { echo "{$uploadPath} 上传失败。\n"; }}// 5. 保存替换后的文章file_put_contents($file, $content);

使用

$ php index.php test.md

以上就是PHP脚本实现Markdown文章上传到七牛图床的详细内容,如果大家还有任何补充的内容可以联系真格学网小编。

有相关第三方库,你可以使用内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • php guid生成函数和类
  • thinkphp数据库增删改查操作方法实例详解
  • destoon调用企业会员公司形象图片的实现方法
  • php嵌套输出缓冲代码实例
  • 大家在抢红包,程序员在研究红包算法
  • laravel单元测试之phpunit中old()函数报错解决
  • php+ajax+json 详解及实例代码
  • 在sae上搭建最新wordpress的方法
  • yii2针对指定url的生成及图片等的引入方法小结
  • php使用百度天气接口示例
  • markdown转html如何使用php实现?
  • 有没有把Markdown代码转成HTML的PHP函数或JsScript函数
  • 有没有把Markdown代码转成HTML的PHP函数或JsScript函数
  • php有没有把html生成markdown格式的txt
  • wordpress 使用markdown 编辑的博文 先导出文章 在导入后 查看博文已经变成 html了为什么?
  • 如何建立一个能发布markdown文章的博客
  • 有哪些好用的markdown编辑器,可以用php调用
  • 如何用markdown编写漂亮的文章
  • php markdown 编辑器怎么使用
  • 发表博客中的Markdown是怎么实现的
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php实例php guid生成函数和类thinkphp数据库增删改查操作方法实例详解destoon调用企业会员公司形象图片的实现方法php嵌套输出缓冲代码实例大家在抢红包,程序员在研究红包算法laravel单元测试之phpunit中old()函数报错解决php+ajax+json 详解及实例代码在sae上搭建最新wordpress的方法yii2针对指定url的生成及图片等的引入方法小结php使用百度天气接口示例php获取数组长度的方法(有实例)微信公众平台实现获取用户openid教你如何使用php session使用php生成二维码的两种方法(带php发送get、post请求的6种方法简php中把stdclass object转array的微信公众平台网页授权获取用户基laravel框架数据库curd操作、连贯php字符串的连接的简单实例php删除数组中空值的方法介绍基于initphp的框架介绍yii框架通过控制台命令创建定时任务示例laravel基础_关于view共享数据的示例讲解通过dbi使用perl连接mysql数据库的方法windwos下使用php连接oracle数据库的过程laravel 中获取上一篇和下一篇数据ci(codeigniter)框架配置php 网页游戏开发入门教程一(webgame+dethinkphp之用户注册登录留言完整实例浅谈php中的面向对象oop中的魔术方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved