str_replace对我的字符串没有影响

时间:2017-03-02 18:32:48

标签: php str-replace

我有str_replace的问题,我的功能没有效果,我想这是由于隐形字符,但我不知道为什么...... 我想只用一个替换2个标签。 感谢

<?php
    $tempo = str_replace( '  </Ligne>
     </Ligne>', '  </Ligne>', $temp);
?>

我的文字文件

<Ligne>
  <Ligne>
   <ll>test</ll>
   <Id>23</Id>
   <SKU>autreID</SKU>
   <Quantity>1</Quantity>
  </Ligne>
  <Ligne>
   <ll>test</ll>
   <Id>23</Id>
   <SKU>autreID</SKU>
   <Quantity>1</Quantity>
  </Ligne>
 </Ligne>

1 个答案:

答案 0 :(得分:2)

您的文本文件中的空格是否与调用str_replace时的空格相同并不完全清楚。使用preg_replace代替并检查任何类型的空格可能更容易。像这样:

<?php
    $string = '     </Ligne>         </Ligne>';
    $pattern = '/<\/Ligne>\w+<\/Ligne>/';
    $replacement = '</Ligne>';
    echo preg_replace($pattern, $replacement, $string);
?>