2011-07-16 11 views

答えて

6

そのコードは疑問符を「置換」という単語に置き換えます。これは、使用しているコードではないこと、または文字列内の文字が疑問符ではないことを意味します。

PHPの文字列関数は、latin1(iso-8859-1)でエンコードされた文字列に対してのみ正しく動作します。多くのエンコーディングでは、視覚的に疑問符のように見えるが、ASCIIと同じではないグリフに対応する多くのコードポイントが存在する可能性があります。


$str = "Hello? Anyone home?"; 
$str = str_replace('?', 'replacement', $str); 
echo $str; 

出力:

Helloreplacementの誰もがこれはspaceにで?を置き換えます

+0

+1良好な推論+サポート。エンコーディングはここで起こりうると思われる。 –

+0

私の問題が見つかりました。私の文字列にはいくつかの特殊文字(16進値80と0x93)があります。どのように私はこれらの特別な文字の私の文字列をきれいにするのですか? – DeShawnT

+0

特別な理由あなたは彼らと何をしたいですか?あなたの「クレンジング」がテキストの意味を変えたら? –

0

をhomereplacement。これはあなたを助けるかもしれません。

<?php 
$str = "this ? does ? indeed ? work"; 
$char=''; 
$str1 = str_replace('?',$char,$str); 
echo $str1; 
?> 
関連する問題