正则匹配汉字,汉字UNICODE编码,匹配后的汉字加色

2016-12-04  本文已影响0人  孤岛渔夫
    <?php 
    $arr = array(
        '2016-09-19',
        '2016/02/19',
        '2016,03,19',
        '2016.04.19',
        '2016,05.19',
        '2016,09/19',
        '2016-08/19',
        '2016 09 19'
        );

    // preg_replace(正则, 替换值,  对象)
    var_dump( preg_replace('/\D/', '/', $arr) );

    $str = '媳妇玩老公的手机, 不小心摔倒了地上, 手机壳和电池都摔了出来, 还有藏在里面的100块. 媳妇看着老公:解释一下吧! 老公恐慌的说: 我的天呐, 摔的真够狠的,话费都给你摔出来了... 拿起老婆的手机往床上一摔, 床底下爬出个老王. 老公愤怒的说: 这咋回事? 媳妇慌了, 说: 我的天呐, 联系人都摔出来了.';

    // var_dump( preg_replace('/[摔|手机|老]+/u','***', $str) );

    // 匹配 建议用Unicode 编码    \x{汉字编码}
    // 
    // 汉字Unicode 编码范围   \x{4e00} ~ \x{9fa5}
    // 
    // 模式修正符 u(小写)  启用不兼容perl的额外功能.
    // 自PHP4.3 之后, 检测utf-8编码合法性

    var_dump( preg_replace('/[\x{5AB3}\x{5987}]+/u', '***', $str)  );

    // 将所有的汉字全部转成* 
    var_dump( preg_replace('/[\x{4e00}-\x{9fa5}]/u', '*', $str));


    // 将匹配到汉字 加颜色
    // \\1  与 $1  一样,  代表第一个() 原子集
    echo preg_replace('/(\x{8001}\x{516C})+/u','<b style="color:green;">$1</b>', $str);

 ?>
上一篇 下一篇

猜你喜欢

热点阅读