str_replace()无法正常工作

时间:2017-04-20 08:15:00

标签: php str-replace

早上好,

我目前正在尝试从xml文档中替换一些字符串,其中一些字符串运行良好,但其他一些字符串不是,我无法弄清楚为什么......这个问题可以来从xml是用Microsoft Word编写的这个事实?

这是我的PhP代码:

<?php
   $document = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/../wwwPublic/vehicule_ci/assets/res/annulation.xml");

   $document = str_replace('@ville@', "test_ville", $document);
   $document = str_replace('@date@', date('d/m/Y'), $document);
   $document = str_replace('@emetteur@', "test_emetteur", $document);

   $handle = fopen(utf8_decode($documentPath), "w");
   fwrite($handle, $document);
   fclose($handle);

   echo $document;
?>

这是输出:

test_ville le 20/04/2017Ref Client : @emetteur@N° Voucher :ÉmetteurDestinataireNom :@emetteur@

正如你所看到的,&#34; ville&#34;而且&#34; date&#34;正在被正确替换,但是&#34; emetteur&#34;不是......如果有人有了想法,我会接受它。

谢谢

1 个答案:

答案 0 :(得分:0)

这很可能是因为文件是用文字写的。我之前也经历过这样的错误。也许您需要使用iconv函数转换文档。

http://php.net/manual/en/function.iconv.php