PHP разделить на несколько строк не работает - PullRequest
0 голосов
/ 07 марта 2012

У меня есть регулярное выражение в 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:

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

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

Что происходит?Если я использую инструмент регулярных выражений , он хорошо разбивается, как и ожидалось.

Редактировать: Вот необработанное регулярное выражение:

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

1 Ответ

2 голосов
/ 07 марта 2012

Измените свое регулярное выражение на

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

Это позволяет использовать любые пробелы между строкой - с и строкой * с, независимо от того, сколько символов используется для обозначения разрыва строки.

...