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";

也来自PHP DOC

 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 回答