zoukankan      html  css  js  c++  java
  • laravel把markdown文本解析为html元素

    工具

    使用erusev/parsedown扩展包,安装方法

    composer require erusev/parsedown
    

    配置

    由于,该扩展包并没有针对laravel进行封装。所以,包安装之后,还不能直接使用,需要进行如下的配置才行。

    • composerautoloadclassmap中新增parsedown的地址,由于扩展包都是安装在vendor的目录下的,所以新增的地址为:vendor/erusev/parsedown
      如下配置:
    "autoload": {
        "psr-4": {
            "App\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories",
            "vendor/erusev/parsedown"
        ],
        "files":[
            "app/helpers.php"
        ]
    },
    
    • 执行下面的命令,自动加载该扩展
    composer dump-auto
    

    引用变量

    又有当前的扩展包仅仅是一个单独的类,内部没有使用命名空间,所以使用的时候,只要保证在全局变量里使用就行了。

    1. 通过use使用
    use Parsedown;
    
    1. 或者直接指定全局空间
    $parse = new Parsedown;
    

    使用方法

    使用类的text方法解析

    $html = (new Parsedown)->text($content);
    

    如果是解析用户输入的markdown文本,建议加上setSafeMode(true)用于Parsedown能够转义其生成的HTML中的用户输入,告诉Parsedown它正在处理不受信任的用户输入

    $html = (new Parsedown)->setSafeMode(true)->text($content);
    

    更多用法应参考文档

  • 相关阅读:
    常见的单链表题目
    一个string类的几个函数
    strcpy和memcpy的区别
    字符串及 strcpy几种写法
    什么函数不能声明为虚函数
    STL中Vector和List的底层数据结构
    C/C++堆、栈及静态数据区详解
    tcp四次握手
    几个知识点
    内存对齐的规则与作用
  • 原文地址:https://www.cnblogs.com/hxsen/p/12716273.html
Copyright © 2011-2022 走看看