2016-08-26 11 views
1

数字や特殊文字を削除する際に問題があります。私はすべての数字と特殊文字を入力から取り除きたい。ここに私のコードだ:phpとregexを使用して文字列から数字と特殊文字を削除します

$input = $_POST["input"]; 

function preprocessing($input){ 
    $input = trim(strtolower($input)); 
    $remove = '/[^a-zA-Z0-9]/s'; 
    $result = preg_split($remove, $input, -1, PREG_SPLIT_NO_EMPTY); 
    for($i = 0; $i < count($resultl); $i++){ 
     $result[$i] = trim($result[$i]); 
    } 
    return $result; 
} 

文字列例: QWD QWD qwdqd123 13#$%^ & *)ADDA '' ''

出力: 配列([0] => QWD [1] = > qwd [2] => qwdqd123 [3] => 13 [4] => adda)

数値はまだ文字列に表示されます。これを解決するには? ありがとうございます。

+0

を確認してください。あなたが必要とするのは大文字と小文字のアルファベットだけであれば '/ [^ a-zA-Z] /'です – kennasoft

+0

非常に@ kennasoftありがとうございます。 – brown26

答えて

1

は、あなたがあなたのパターンから `0-9`を削除することがあり、この

function clean($string) { 
    $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens. 

    return preg_replace('/[^A-Za-z\-]/', '', $string); // Removes special chars. 
} 
+0

盗まないでください。 http://stackoverflow.com/a/14114419/1570534 –

+0

@HankyPankyなぜ私は重複として私の質問をマークですか? – brown26

関連する問題