如何使用CR(LF)字符从标识符preg_replace到文本结尾

时间:2015-04-29 12:30:26

标签: php preg-replace carriage-return linefeed

我试图将一段文本(实际上是html)分成两部分,一部分是顶部和底部。一个'标识符' (< - #SPLIT# - >)文本中标记要拆分的位置。

要获得上半部分,我有以下preg_replace可以正常工作:

$upper = preg_replace('/<--#SPLIT#-->(\s*.*)*/', '', $text); 

这给我留下了之前的所有文字&#39;&lt; - #SPLIT# - &gt;&#39;。

为了获得较低的部分,我想出了以下无法正常工作的preg_replace:

$lower = preg_replace('/(\s*.*)*<--#SPLIT#-->/', '', $text);

返回一个空字符串。

如何修复第二个?

1 个答案:

答案 0 :(得分:1)

最好使用:

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'