0

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

例如:

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

我只想炸开一、三五弦,而忽略二、四、六弦。

谢谢

4

2 回答 2

3

你可以试试:

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

查看输出

string one ,string three ,string five 
于 2013-05-24T19:08:50.120 回答
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)
于 2013-05-24T19:06:55.183 回答