2017-03-02 6 views
-1

str_replace에 문제가 있습니다. 제 기능이 아무런 영향을 미치지 않습니다. 보이지 않는 문자 때문인 것 같지만 이유를 모르겠습니다 ... 2 개의 태그를 하나만 바꾸고 싶습니다. . 감사str_replace는 문자열에 아무런 영향을주지 않습니다.

<?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> 
+0

위의 코드는 분명하지 않습니다. '$ search'에 무엇이 있습니까? – RomanPerekhrest

+0

예, 죄송합니다. 업데이트 됨 ... – Pipoo

+0

이 PHP입니까? 사용중인 언어로 질문에 태그를 추가해야합니다. – jwodder

답변

2

그것은 아니에요 텍스트 파일에 공백이 str_replace에 전화의 것과 동일 여부를 완전히 취소합니다. preg_replace을 사용하고 공백 유형을 확인하는 것이 더 쉽습니다. 이런 식으로 :

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

고마워요.하지만 효과가 없습니다. – Pipoo