2012-03-07 166 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上的线之间,不管有多少字符用于表示换行符。