Javascript 十六进制颜色和哈希标记解释错误

Javascript 十六进制颜色和哈希标记解释错误,javascript,php,hex,preg-replace,Javascript,Php,Hex,Preg Replace,我正在使用一个php脚本来创建一个hashtag系统: function tags($message) { $find = array( '~\[color=(.*?)\](.*?)\[/color\]~s', '~\[color=#(.*?)\](.*?)\[/color\]~s' ); $replace = array( '<span style="color:$1;">$2</span>', '<spa

我正在使用一个php脚本来创建一个hashtag系统:

function tags($message) {
    $find = array(
    '~\[color=(.*?)\](.*?)\[/color\]~s',
    '~\[color=#(.*?)\](.*?)\[/color\]~s'
    );

    $replace = array(
    '<span style="color:$1;">$2</span>',
    '<span style="color:$1;">$2</span>'
    );

    $message = preg_replace($find,$replace,$message);

    $message = preg_replace("/#([A-Za-z0-9\/\.]*)/", "<a target=\"_new\" href=\"index.php?view=hashtag&q=$1\">#$1</a>", $message);

    return $message;
}
问题是,如果我有一个BBcode,比如[color=000000]text[/color],那么颜色就会被解释为一个hashtag。 我如何防止这种情况

结果526273;> 输入[color=526273]文本[/color] 设计输入:文本颜色-


这个系统会工作的。。但问题是我甚至有标签系统。。因此,526273被解释为一个hashtag

我们需要一段清晰的代码,其中包含一个演示字符串,用于输入、函数调用以及该函数调用的所需和实际返回值。@Sven这是php标记中的代码,然后消息显示为输入值?输出结果?期望的输出结果?我希望有一些代码,比如$input=Foo color$输出=标签$input;var_dump$输入,$输出;以及所述var_dump的打印输出,以及所需输出。请将其编辑到您的问题中,不要在评论中隐藏重要信息。@Sven result 526273;>输入[color=526273]文本[/color]设计输入:文本有颜色-系统可以工作。。但问题是我甚至有标签系统。。因此,526273被解释为一个标签