• 正则表达式 UBB 实例


    <?php
    header('Content-Type:text/html;charset:utf-8');

    $str = "
    [b]郭钱[/b]<br/>
    [i]郭钱[/i]<br/>
    [u]郭钱[/u]<br/>
    [font=宋体]郭钱[/font]<br/>
    [color=Red]郭钱[/color]<br/>
    [size=6]郭钱[/size]<br/>
    [align=left]郭钱[/align]<br/>
    [align=center]郭钱[/align]<br/>
    [align=right]郭钱[/align]<br/>
    [url=http://www.baidu.com]郭钱[/url]<br/>
    [url=www.baidu.com]www.baidu.com[/url]<br/>
    [email=ybbqg@126.com]ybbqg@126.com[/email]<br/>
    [img]http://dx/static/image/common/logo.png[/img]<br/>
    ";
    echo $str;
    echo "<br>";
    echo con_ubb($str);

    function con_ubb($str) {
        $pattern = array(
            "/\[b\](.+?)\[\/b\]/is",
            "/\[i\](.+?)\[\/i\]/is",
            "/\[u\](.+?)\[\/u\]/is",
            "/\[font=([.\w\x7f-\xff]+?)\](.+?)\[\/font\]/is",
            "/\[color=([a-z]{3,}|#?[0-9a-f]{6})\](.+?)\[\/color\]/is",
            "/\[size=(\d{1,2})\](.+?)\[\/size\]/s",
            "/\[align=(left|center|right)\](.+?)\[\/align\]/is",
            "/\[url=(.+?)\](.+?)\[\/url\]/is",
            "/\[url\]www\.(.+?)\[\/url\]/is",
            "/\[email=([.a-z0-9]+?@[.a-z0-9]+?)\](.+?)\[\/email\]/is",
            "/\[img\](.+?)\[\/img\]/"
        );
        $replacement = array(
            "<b>\\1</b>",
            "<i>\\1</i>",
            "<u>\\1</u>",
            "<font face='\\1'>\\2</font>",
            "<font color='\\1'>\\2</font>",
            "<font size='\\1'>\\2</font>",
            "<div align='\\1'>\\2</div>",
            "<a href='http://blog.163.com/ybbqg@126/blog/\\1'>\\2</a>",
            "<a href='http://www.\\1'>www.\\1</a>",
            "<a href='mailto:\\1'>\\2</a>",
            "<img src='http://blog.163.com/ybbqg@126/blog/\\1'\/>"
        );
        $str = preg_replace($pattern, $replacement, $str);
        return $str;
    }

    ?>

  • 相关阅读:
    mysql #与$的区别
    linux连接mysql
    19年春第十三周学习
    第二阶段冲刺-02
    第二阶段冲刺-01
    19年春第十二周学习
    第一阶段SCRUM冲刺-10
    第一阶段SCRUM冲刺-09
    第一阶段SCRUM冲刺-08
    19年春第十一周学习
  • 原文地址:https://www.cnblogs.com/ybbqg/p/2399640.html
Copyright © 2020-2023  润新知