我有一个xml中的正则表达式,如
<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
答案 0 :(得分:2)
将正则表达式更改为
/-{80}\s+\*{80}/
这允许在-
s行和*
s行之间的任何类型的空格,无论用多少个字符来表示换行符。