2011-06-26 10 views
1

私は入力文字列$ fooに英数字と非英数字の両方を含んでいます。PHPの文字列の違い

不要な文字をすべて空の文字に置き換えるには、$ fooにereg_replaceを使用します。今私はこれらの "消去された"文字が何かを知りたい。これどうやってするの?その後、

+1

してください質問にあなたのコードを追加して、あなたが要求した修正が回答に含まれるようにしてください。 –

+5

関数 'ereg * 'はPHP 5.3.0以降で廃止されました。代わりに 'preg *'ファミリの関数を使うことを検討してください。 – Gordon

答えて

1

あなたが交換する正規表現を使用している場合は、なぜあなたはちょうど同じ正規表現を使用し、「するpreg_match」を実行していない、「にpreg_replace」

1

あなたはで

$foo = "something"; 
$bar = ereg_replace(...); 
array_diff(chunk_split($foo, 1), chunk_split($bar, 1)); 
1

を使用することができますPHP 5.3:

$text = 'Hello, World!'; 
$stripped = ''; 
$text = preg_replace_callback('/([^A-Za-z0-9]+)/', 
    function($m) use (&$stripped) { $stripped .= $m[0]; return ''; }, $text); 

echo "$text\n$stripped\n"; 

出力:

HelloWorld 
, ! 
関連する問題