0

我是 php 新手,我试图创建一个 BBcode,但它给了我这个错误:

警告:preg_replace():未找到结束分隔符“@”

我做的代码:

function bbCode($str){
    $values = array(
                    '@\[b]\(.*?)\[\/b]\@i' => '<b>$1</b>',
                    '@\[i]\(.*?)\[\/i]\@i' => '<em>$1</em>'

                    );
                    return preg_replace(array_keys($values), array_values($values), $str);
}

它有什么问题?

4

1 回答 1

0

@您使用so php转义最后一个符号\@是将 @ 解释为文字 @ 而不是定界字符。

编辑:

function bbCode($str)
{
    $values = array(
      '@\[b\](.*?)\[\/b\]@i' => '<b>$1</b>',
      '@\[i\](.*?)\[\/i\]@i' => '<em>$1</em>'

    );
    return preg_replace(array_keys($values), array_values($values), $str);
}
于 2013-06-20T08:44:55.477 回答