php页面中
$mydata="江西奥林匹克花园多层房源均价3500元㎡ ";
我想输出这变量时,把上面内容中含 数字和 字母 的去掉,
只输出 江西奥林匹克花园多层房源均价元
这怎么实现呀,thanks,

解决方案 »

  1.   

    eregi_replace("[a-zA-Z0-9]","","江西奥林匹克花园多层房源均价3500元㎡ ");
      

  2.   

    那个平方号不属于\d\w范围,可以替换非中文字为空。//utf-8的
    $mydata = "江西奥林匹克花园多层房源均价3500元㎡ ";
    echo  preg_replace("/[^\x{4e00}-\x{9fa5}]+/u","",$mydata);
      

  3.   


    <?php
    $mydata="江西奥林匹克花园多层房源均价3500元㎡"; 
    $mydata=preg_replace("/[0-9a-zA-Z]/","",$mydata);
    echo $mydata;
    ?> 
      

  4.   

    谢谢 大家 
    可如果 变量中 同时 又含 有各种各样的标点符号呢,如下             
    $mydata="江西- / . > ,[ ];:“ ” ( ) 。# 【】|?、—奥林匹克花园多层房源均价3500元㎡"; 
    此时我要想得到 江西奥林匹克花园多层房源均价 
    要怎么实现呀,
      

  5.   

    此时我要想得到 江西奥林匹克花园多层房源均价
    =====================================
    应该是 江西奥林匹克花园多层房源均价元  吧?还有个"元"字
    不知道你的文件和页面使用什么样的编码?如果是utf-8,就可以用我那个正则。如果是gb2312,那么中文的范围是
    \xa1-\xff
      

  6.   

    echo  preg_replace("/[^\x{4e00}-\x{9fa5}]+/u","",$mydata); 
    这个是所有双字节的字符包含在里面的,非双字节的就干掉了。
      

  7.   

    7 楼的好像不行,我的页面是 gbk
      

  8.   

    ,不会变通的呢。。
    那你转成utf-8再用那个正则试试看
    =============================
    $mydata = "江西- / . > ,[ ];:“ ” ( ) 。# 【】|?、—奥林匹克花园多层房源均价3500元㎡";
    $x =  iconv("gbk","utf-8",$mydata);
    $m =  preg_replace("/[^\x{4e00}-\x{9fa5}]+/u","",$x);
    echo $x =  iconv("utf-8","gbk",$m);
      

  9.   

    你的程序文件编码必须也是gbk
      

  10.   

    你的程序文件编码 是utf-8 的,
    怎么实现呀,
      

  11.   

    你文件是utf-8,你页面是GBK? 昏了
    如果是这样,试试
    ======================================================
    $mydata = "江西- / . > ,[ ];:“ ” ( ) 。# 【】|?、—奥林匹克花园多层房源均价3500元㎡";
    $m =  preg_replace("/[^\x{4e00}-\x{9fa5}]+/u","",$x);
    echo $x =  iconv("utf-8","gbk",$m);
      

  12.   

    $mydata = "江西- / . > ,[ ];:“ ” ( ) 。# 【】|?、—奥林匹克花园多层房源均价3500元㎡"; 
    $x =  iconv("gbk","utf-8",$mydata); 
    $m =  preg_replace("/[^\x{4e00}-\x{9fa5}]+/u","",$x); 
    echo $x =  iconv("utf-8","gbk",$m);
    谢谢大家,这个可运行了,