将中文的全角转为英文半角符号实际上就是所有的中文标点的第二个字节减去0X80(即128)所得的数字就是半角所得的数字了。使用$str = "0123ABCDFWS\",.?<>{}[]*&^%#@!~()+-|:;"; echo "$str"; echo ""; $str = preg_replace('/\xa3([\xa1-\xfe])/e', 'chr(ord(\1)-0x80)', $str); echo $str; ?>登录后复制