在 PHP 中的 "newline,space,newline,space" 分解字符串

explode string at "newline,space,newline,space" in PHP

这是我要引爆的字符串。这个字符串是我需要在每个 "newline,space,newline,space" 处拆分的段落的一部分:

s

 1

textmagic.com 的结果显示它包含一个 \n,然后是一个 space,然后是一个 \n,然后是一个 space。

这是我试过的:

$values = explode("\n\s\n\s",$string); // 1
$values = explode("\n \n ",$string);   // 2
$values = explode("\n\r\n\r",$string); // 3

期望输出:

Array (
    [0] => s
    [1] => 1
)

但其中 none 有效。这里出了什么问题? 我该怎么做?

在 PHP

中使用 preg_split() 由多个定界符进行 explode()

这里只是一个简短的说明。要 explode() 在 PHP 中使用多个定界符的字符串,您将不得不使用正则表达式。使用竖线分隔分隔符。

$string = "\n\ranystring"
$chunks = preg_split('/(de1|del2|del3)/',$string,-1, PREG_SPLIT_NO_EMPTY);

// Print_r to check response output.
echo '<pre>';
print_r($chunks);
echo '</pre>';

PREG_SPLIT_NO_EMPTY – 到 return 只有 non-empty 件。

只需将 explode()PHP_EOL." ".PHP_EOL." " 一起使用,格式为 "newline, space, newline, space"。使用 PHP_EOL,您将获得适合您系统的正确 newline-format。

$split = explode(PHP_EOL." ".PHP_EOL." ", $string);
print_r($split);

https://3v4l.org/WpYrJ

现场演示