2012-03-07 195 views
0

我有一個xml給予類似的PHP分隔成了多行不工作

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

一個正則表達式,我用SimpleXML

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

讀出。如果我在的file_get_contents文件讀取,在這裏是一種提取物,它不會分割並返回大小爲1的數組。

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

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

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

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

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

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

會發生什麼?如果我使用a regex tool,它會像預期的那樣分裂。

編輯:這裏的原正則表達式:

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

回答

2

您正則表達式更改爲

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

這使得任何一種空白的- S上的線與* S上的線之間,不管有多少字符用於表示換行符。