2011-09-09 6 views
0

「Mattさんにはどうやって行っていますか」という文字列があります。この文字列のすべての文字を置き換えることができるようになりました。[az] [AZ] lettersではない二重引用符私はPHPでそれを達成するのですか?PHPの正規表現に関する質問

+2

[文字以外のすべてを削除](http://stackoverflow.com/questions/7264274/remove-everything-except-letters)、[文字列内の英数字以外の文字を削除するにはどうすればよいですか? (ß、...を含む)](http://stackoverflow.com/questions/7271607/how-do-i-remove-non-alphanumeric-characters-in-a-string-including-ss-e-etc) 、[PHP文字列内の一致しない文字をすべて削除しますか?](http://stackoverflow.com/questions/3849359/remove-all-non-matching-characters-in-php-string)、[PHPで非英数字を削除する](http://stackoverflow.com/questions/659025/removing-non-alphanumeric-characters-with-php) – outis

+0

返信ありがとう、私はちょうど[az] [AZ] [ 0-9]ありがとう:) –

+0

最初の質問はあなたとまったく同じです。 3番目は、あなたの特定の質問を解決する方法を伝えるだけの一般的なものです。他のものは、あなたのニーズに合わせて簡単に答えを変えたり、Unicodeの他の文字に関する追加情報を持ったりするのに十分近いほどです。 – outis

答えて

0
$clean_string = preg_replace('/[^a-zA-Z]/','',$string); 

a-zA-Z以外のものはすべて置き換えます。必要な場合は[]内にスペースを、空白をすべて使用する場合は/ sを追加します。

1

http://php.net/manual/en/function.preg-replace.php

<?php 
    $string = '"hey how are you going Mr. Matt"'; 
    $pattern = '/[^a-zA-Z]/'; 
    $replacement = '-'; 
    echo preg_replace($pattern, $replacement, $string); 
?> 
Live example

(codepad)。

/[^a-zA-Z]/は正規表現です。基本的には、a-zA-Zを含む単なるセット([])です。しかし、反転(^)なので、アルファベット以外のすべての文字と一致し、それらを置き換えます。