+ -
当前位置:首页 → 问答吧 → 能否简单说明一下这个bbcode函数

能否简单说明一下这个bbcode函数

时间:2011-06-12

来源:互联网

这是一个PHP论坛中BBcode函数,红色部分表示什么?
function bbcode($db, $data) {
    $sql = 'SELECT
            template, replacement
        FROM
            frm_bbcode';
    $result = mysql_query($sql, $db) or die(mysql_error($db));
    if (mysql_num_rows($result) > 0) {
        while($row = mysql_fetch_array($result)) {
            $bbcode['tpl'][] = '/' .
                html_entity_decode($row['template'], ENT_QUOTES). '/i';
            $bbcode['rep'][] = html_entity_decode($row['replacement'],
                ENT_QUOTES);
        }
        $data1 = preg_replace($bbcode['tpl'], $bbcode['rep'], $data);
        $count = 1;
        while (($data1 != $data) and ($count < 4)) {
            $count++;
            $data = $data1;
            $data1 = preg_replace($bbcode['tpl'], $bbcode['rep'], $data);
        }
    }
    return $data;
}

[ 本帖最后由 qaz8555 于 2011-6-12 17:59 编辑 ]

作者: qaz8555   发布时间: 2011-06-12

循环进行正则替换。
当$data1不等于$data并且$count <4的时候进行。

作者: 帅青蛙   发布时间: 2011-06-14