php只爆炸预分隔符并忽略休息

时间:2013-05-24 19:03:03

标签: php explode

是否可以仅分解文本预分隔符(在 - 之前),但忽略整个字符串的每个新行上分隔符后的所有内容。

例如:

string one -- string two
string three -- string four
string five -- string six

我只想爆炸字符串1,字符串3 字符串5 并忽略字符串2,字符串4和字符串6。

由于

2 个答案:

答案 0 :(得分:3)

您可以尝试:

echo implode(",", array_map(function ($v) {
    return current(explode("--", $v));
}, explode("\n", $string)));

View Output

string one ,string three ,string five 

答案 1 :(得分:1)

这将是一个多步骤的过程。

  • 首先按新行爆炸
  • 第二,循环通过线条,然后由' - '
  • 第三,输出第一场比赛。

PHP示例

$Param = <<<LONG
string one -- string two
string three -- string four
string five -- string six
LONG;

$Lines = explode("\n", $Param);

$Output = [];
foreach($Lines as $line) {
    $line = explode(" -- ", $line);
    $Output[] = $line[0];
}

var_dump($Output);

示例输出

array (size=3)
  0 => string 'string one' (length=10)
  1 => string 'string three' (length=12)
  2 => string 'string five' (length=11)