我正在尝试使用类似于:
的UTF-8字符串&安培; Q |艝隭)R墢Lq28}徫廵g'Y钻妽踒˚F
并删除除了中文字符以外的所有内容,它们都是十六进制4E00-9FA5,我想只保留字符串中的那些字符。我试过这条线只留下有效的美国字符:
preg_replace('/[^\x20-\x7E]/', '', $str);
到此:
preg_replace('/[^\x4E00-\x9FA5]/u', '', $str);
但它什么也没输出......我错过了什么吗?我对正则表达式不太满意
答案 0 :(得分:2)
你非常接近!
preg_replace('/[^\x{4E00}-\x{9FA5}]/u', '', $str);