gpt4 book ai didi

php - 创建简单的 Markdown 类

转载 作者:行者123 更新时间:2023-12-04 15:54:57 25 4
gpt4 key购买 nike

我目前正在开发一个集成了评论系统的系统,该系统在 Codeigniter 上运行,因此我希望创建一个 Markdown 库,但功能非常少。

我希望拥有的功能是

  • 自动链接
  • 粗体*粗体*
  • 斜体_italic_

实际上就是这样,发布数据将在进入 Markdown 类之前通过 Codeigniter 的 XSS 类运行

所以我的问题是什么是最好的方法,我应该使用那里的库并禁用某些功能,我应该从头开始构建它吗?如果是,我应该如何构建类以及我应该考虑哪些事项。

最佳答案

我最近遇到了类似的情况,我想支持某种标记(BB、Markdown 等)。事实证明,大约 100 年来 BBCode 没有做任何事情,而且为它编写一个正则表达式解析器非常容易(至少对于格式良好的标记)所以我写了一个非常简单的函数来做到这一点。

我的版本还包括图像、代码和颜色支持以及嵌套标签([b][i]粗体和斜体[/i][/b])。

function parseBBCode($string){
$search = array(
'/\[b\](.*?)\[\/b\]/',
'/\[i\](.*?)\[\/i\]/',
'/\[u\](.*?)\[\/u\]/',
'/\[img\](.*?)\[\/img\]/',
'/\[url\=(.*?)\](.*?)\[\/url\]/',
'/\[code\](.*?)\[\/code\]/',
'/\[color\=(.*?)\](.*?)\[\/color\]/'
);
$replace = array(
'<strong>\\1</strong>',
'<em>\\1</em>',
'<u>\\1</u>',
'<img src="\\1">',
'<a href="\\1" target="_blank">\\2</a>',
'<code>\\1</code>',
'<span style="color:\\1;">\\2</span>'
);
$new = preg_replace($search, $replace, $string);
return nl2br($new);
}

关于php - 创建简单的 Markdown 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6986349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com