Я пытаюсь разделить часть текста (на самом деле HTML) на две части, верхнюю и нижнюю часть. «Идентификатор» (<- # SPLIT # ->) в тексте отмечает позицию для разделения.
Чтобы получить верхнюю часть, у меня есть следующий preg_replace, который работает:
$upper = preg_replace('/<--#SPLIT#-->(\s*.*)*/', '', $text);
Это оставляет меня со всем текстом, который предшествует<- # SPLIT # ->».
Чтобы получить нижнюю часть, я придумал следующий preg_replace, который НЕ работает правильно:
$lower = preg_replace('/(\s*.*)*<--#SPLIT#-->/', '', $text);
Это возвращает пустую строку.
Как я могу исправить второй?
Лучше использовать:
explode('<--#SPLIT#-->', $text);
Пример кода:
$text = 'Foo bar<--#SPLIT#-->Baz fez';
$temp = explode('<--#SPLIT#-->', $text);
$upper = $temp[0];
$lower = (count($temp > 1) ? $temp[1] : '');
// $upper == 'Foo bar'
// $lower == 'Baz fez'
Других решений пока нет …