2012-02-22 28 views
0

PHPを使用してXMLファイルをCSVに変換しようとしていますが、タグ内の値によっては空白に問題があります。 これはXMLです:PHP - XMLからCSVへXMLの空白を取り除く

<Product> 
<Code>1234</Code> 
<Name>product name</Name> 
<Category>some category</Category> 
<Manufacturer>manufacturer</Manufacturer> 
<Price>     100</Price> 
<Stock>1</Stock> 
</Product> 

あなたが見ることができるように、私のCSVフォーマットで台無し値札、内側の空白がたくさんあります。私はこれを試しましたが、うまくいかなかった:

$Product->Price = preg_replace("/>\s+</", "><", $Product->Price); 

助けていただければ幸いです。前もって感謝します。

+0

正規表現の "/>"は何ですか? pは一致することを意味する? –

+0

XMLパーサーを使用してXMLを解析していますか? –

答えて

2

trim()を試してみてください。 php manualから:

この関数は、 始めとstrの末尾から取り除か空白文字で文字列を返します。 2番目のパラメータがなければ、trim()は これらの文字を削除します:

""(ASCII 32(0x20))、通常のスペースです。 "\ t"(ASCII 9(0x09))、 タブ。 "\ n"(ASCII 10(0x0A))、改行(改行)。 "\ r"(ASCII 13 (0x0D))、キャリッジリターン。 "\ 0"(ASCII 0(0x00))、NULバイト。 "\ x0B"(ASCII 11(0x0B))、垂直タブ。

+0

これは完全に機能しました。すべてのあなたの答えをありがとう。 – alexius

0

は、あなたがそれを複雑に上だと思うが...

$Product->Price = preg_replace("/\s/","",$Product->Price); 
+0

まあまあですが、そこに 'trim()'を使うこともできます。 –

+0

本当に、 'trim()'は実際にはより洗練されたソリューションです。 – Avanche