정규식 질문드립니다.

정규식 질문드립니다.

QA

정규식 질문드립니다.

답변 1

본문

특정 xml 문자에서 특정 태그 안에 있는 내용이 이상한값이 있는게 있어서 

예를 들어서 

<dtText>

   <![CDATA[블루/80]]>

</dtText>

<maxSaleQty>

   <![CDATA[3]]>

</maxSaleQty>

 

이두개가 있다면 아래 maxSaleQty 의 데이터만 삭제가 가능한가요?

<maxSaleQty>

</maxSaleQty>

이런식으로요 안에 내용 아예삭제하고 싶습니다.

이 질문에 댓글 쓰기 :

답변 1


<?php
    $data = '<dtText>
    <![CDATA[블루/80]]>
</dtText>
<maxSaleQty>
    <![CDATA[3]]>
</maxSaleQty>';
    $new_data = null;
 
    $start = strpos($data, "<maxSaleQty>");
    $start_length = mb_strlen("<maxSaleQty>");
    $end = strpos($data, "</maxSaleQty>");
    $end_length = mb_strlen("</maxSaleQty>");
 
    $del_str = substr($data, $start+$start_length, $end-$start-$end_length);
   
    echo str_replace($del_str,'',$data);
?>

 

느낌 흘러가는대로 작성한거라 깔끔하지는 않습니다.

작성자분이 원하시는대로 maxSaleQty 안에 있는 문자열 제거는 정상적으로 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 954
© SIRSOFT
현재 페이지 제일 처음으로