2012-03-07 13 views
0

I持って、私はのfile_get_contentsを持つファイルを読み込む場合は、私はここに、SimpleXMLをPHPのスプリットは動作しません

$data = preg_split($file->sectiondelimiter, $my_file, null, 1); 

で読み出す

<sectiondelimiter><![CDATA[/--------------------------------------------------------------------------------\n\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/]]></sectiondelimiter> 

のようなXMLに与えられた正規表現これは分割ではなく、サイズ1の配列を返します。

-------------------------------------------------------------------------------- 
******************************************************************************** 

-------------------------------------------------------------------------------- ClassicCLI ENABLED: Yes 

-------------------------------------------------------------------------------- 
******************************************************************************** 

-------------------------------------------------------------------------------- start: no interval: 60 address: serverkey: keyvalue: 

-------------------------------------------------------------------------------- 
******************************************************************************** 

-------------------------------------------------------------------------------- 

どうしますか? a regex toolを使用すると、期待どおりに分割されます。

編集:ここで生正規表現があります:

/--------------------------------------------------------------------------------.\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/s 

答えて

2

/-{80}\s+\*{80}/ 

にあなたの正規表現を変更し

これは、-秒のラインと*秒のラインとの間の空白のいずれかの種類を可能にどのように多くの文字が改行を表すために使用されても問題ありません。