str_replace只能对特定的字符进行替换而已~~~我也想知道真正能把全角转换为半角的方法`~~~~ 不过好象除了建立一个对应表,我就不知道怎么做了~~

解决方案 »

  1.   

    当然是使用对照表了,如果是逐个字处理编码有点得不偿失$s = array('@','.','!','#','$','%','(',')','[',']','_','?','=','/','*','ー','-','~','^','|');
    $r = array('@', '.', '!', '#', '$', '%', '(', ')', '[', ']', '_', '?', '=', '/', '*', '-', '-', '~', '^', '|');
    $text = str_replace($s,$r,$text);
      

  2.   

    应该是这样吧,唠叨笔误?呵呵
    <?php
    $s = array('@','.','!','#','$','%','(',')','[',']','_','?','=','/','*','ー','-','~','^','|');
    $r = array('@', '.', '!', '#', '$', '%', '(', ')', '[', ']', '_', '?', '=', '/', '*', '-', '-', '~', '^', '|');
    $text = str_replace($s,$r,$s);
    echo "<pre>";
    print_r($text);
    echo "</pre>";
    ?>