<?php
$str='alsdj(#*lk23lj#L<2j3l4l_@+_23 国办 顺8293>8423另23轩';
echo preg_replace('/[^'.chr(0xa1).'-'.chr(0xff).'\w]/', '', $str);
?>
$str='alsdj(#*lk23lj#L<2j3l4l_@+_23 国办 顺8293>8423另23轩';
echo preg_replace('/[^'.chr(0xa1).'-'.chr(0xff).'\w]/', '', $str);
?>
$str="Hello,test_~!@#$%`1234()=-\!(这是一个测试!但中文状态下的标点、数字、字母去不掉)";
$pattern = "/[^".chr(0x80)."-".chr(0xff)."\w]+/";
echo preg_replace($pattern,"",$str);
?>
这种方法在中文状态下的标点、数字、字母不能去掉!