创建简单的降价课程

时间:2011-08-08 17:54:18

标签: php codeigniter markdown

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

我想要的功能是

  • Autolinking
  • 大胆*bold*
  • 斜体_italic_

实际上,帖子数据将通过Codeigniter的XSS Class运行,然后才能进入降级类

所以我的问题是最好的方法是什么,如果我在那里使用一个库并禁用某些功能,我应该从头开始构建,如果是这样,我应该如何构建我应该考虑哪些课程。

3 个答案:

答案 0 :(得分:4)

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

我的版本还包括图片,代码和颜色支持以及嵌套代码([b][i]bold and italic[/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);
}

答案 1 :(得分:2)

您可以从PHP Markdown class开始?

CI的那个。

如果我建议,您也可以尝试MarkItUp作为前端..

答案 2 :(得分:2)

对我来说,集成Markdown最简单的方法就是

  • 将markdown.php从Michel Fortrin放入我的Application / helpers /文件夹,
  • 将其重命名为markdown_helper.php
  • 加载$ this-&gt; load-&gt; helper('markdown');

...以防有人 - 像我一样 - 再次偶然发现这个旧线程:)