正则里比较怪异的一个关于乱码的问题.
<?php
echo preg_replace('/([{}\[\]!]*?)/i','','{![工位号]}>=( {![分机]}!={![手机]} )or{![登录密码]} == {![部门主管]}')."<br />";
//和
echo preg_replace('/[{}\[\]!]*?/i','','{![工位号]}>=( {![分机]}!={![手机]} )or{![登录密码]} == {![部门主管]}')."<br />";
//这样替换输出结果都是正确的
//工位号>=( 分机=手机 )or登录密码 == 部门主管
//但是
echo preg_replace('/[{}\[\]!]*?/i',' ','{![工位号]}>=( {![分机]}!={![手机]} )or{![登录密码]} == {![部门主管]}')."<br />";
//这样的输出结果是
// ?????? > = ( ???? = ???? ) o r ???????? = = ????????
// 注意空格
// 能告诉我这是为什么吗? 很郁闷地说
// 就事论事……表说我写的正则菜:)
// 现在我去试着转换下编码.
// Php 5.1.4
?>