2

Webサービスからxmlファイルを取得しています。

残念ながら、ファイルにはパーサーを壊す文字コード2(\ u0002)が含まれています。

したがって、すべての文字コード2を削除しようとしていますが、単純な文字列置換を実行しようとすると、奇妙な結果が得られます。

これをテストするために、次の内容のtest.phpという名前のphpファイルを作成しました。

<?
$aaa="Hi"+chr(2)+"There"+chr(2)+"Rick";
$aaa = str_replace($aaa,chr(2),"");
echo $aaa;
?>

私はこれをコマンドラインから実行しています:

php test.php

これを実行すると、空白の文字列が表示されます。

私は何が間違っているのですか?

4

1 に答える 1

3

はい、結果は黒になります。これは、連結PHPに使用する.ため であり、+

変更する必要があります

$aaa="Hi"+chr(2)+"There"+chr(2)+"Rick";

$aaa="Hi".chr(2)."There".chr(2)."Rick";

PHPDOCからも

 mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

また、変更する必要があります

$aaa = str_replace($aaa,chr(2),"");

$aaa = str_replace(chr(2),"",$aaa);
于 2012-11-26T19:37:26.730 に答える