2012-02-11 2 views
0

정말 문제에 대한 도움이 필요합니다. PHP 스크립트를 사용하여 XML을 CSV로 변환하지만 XML에 + 부호가 포함되어 있으며이를 제거하는 방법을 모르겠습니다. CSV.PHP - XML에서 CSV 로의 변환 문제

<PRICES> 
<PRICE> 
<WIC>HDE0AAFGRBOX</WIC> 
<STOCK>100+</STOCK> 
<MY_PRICE>219.00</MY_PRICE> 
</PRICE> 
</PRICES> 

이것은 내가 사용하는 스크립트입니다 :

는 XML 파일 구조입니다

<? 
$filexml='stock.xml'; 
if (file_exists($filexml)) { 
$xml = simplexml_load_file($filexml); 
$f = fopen('stock.csv', 'w') 
foreach($xml->PRICES->PRICE as $price) { 
fputcsv($f, get_object_vars($price),',','"'); 
} 
fclose($f); 
} 
?> 

스크립트는 잘 작동하고 CSV 파일이 좋다,하지만 난 멍청한 놈이기 때문에 PHP에서는 "+"기호를 제거하는 방법을 모르겠습니다.

도움이 될 것입니다.

미리 감사드립니다.

+0

을' 100 +' 100+입니까? –

+0

예, 실수해서 죄송합니다. – alexius

+0

'fopen' 명령 다음에 세미콜론이 없습니다. –

답변

1

당신은 제거 할 문자합니다 ('+'문자) 트림을 시도 할 수 있습니다 : 않는 str_replace 사용하는

foreach($xml->PRICES->PRICE as $price) { 
    $price->STOCK = trim($price->STOCK, "+"); 
    fputcsv($f, get_object_vars($price),',','"'); 
} 
+1

트림은 문자열의 처음이나 끝에있는 경우에만 + 기호를 제거하지만 이는 사실 일 수 있습니다. 그렇지 않으면'$ price-> STOCK = str_replace ("+", "", $ price-> STOCK); ' – Richard

+0

대단히 감사합니다. 좋은 하루 되세요! – alexius

0

시도 : 나는 가정

$filexml='stock.xml'; 
if (file_exists($filexml)) { 
$xml = simplexml_load_file($filexml); 
$f = fopen('stock.csv', 'w') 
foreach($xml->PRICES->PRICE as $price) { 
$price->STOCK = str_replace("+","",$price->STOCK); 
fputcsv($f, get_object_vars($price),',','"'); 
} 
fclose($f); 
} 
+0

도움 주셔서 감사합니다. – alexius