2011-06-22 14 views
32

文字、数字、スペース、および下線を除く文字列のすべての文字を置き換えようとしています。文字、数字、空白、アンダースコア以外のすべての文字を置換します。

例を挙げてください。何もすべての非スペースと非単語の文字を置き換え

$string = preg_replace("/[^ \w]+/", "", $string); 

+0

どのような例が見つからないのですか?どのように機能しないのですか? – BoltClock

+0

何に置き換えますか? –

+1

また、すべての種類の文字列操作の質問に対して、それを追加します。具体的な例を提供したり、操作の中に入るものと操作の中から出てきたいもののうちの2つを指定すると、 。 – EBGreen

答えて

65

私は普通のようなものを使用します。

+11

PHPの 'preg_replace( '/ [^ \ w] + /'、 ''、$ string)の正規表現に一重引用符を使用すると、\を二重引用符で囲むと予期しない動作が発生する可能性があります – DarkMukke

6
<?php 
$string = 'April 15, 2003'; 
$pattern = '/[^\w ]+/'; 
$replacement = ''; 
echo preg_replace($pattern, $replacement, $string); 
?> 
21
[^0-9a-zA-Z_\s] 

交換したいものです。

+16

これは、問題。ありがとう! (これを読んでいる人は、このようなスラッシュで忘れないようにしてください: '$ new_string = preg_replace( '/ [^ 0-9a-zA-Z _] /'、" "、$ old_string)'私はスペースを許可する必要がないので\ sです。 – TecBrat

+1

'\ s'はスペースを必ずしも意味しません... –

関連する問題