如何根据文本格式将文本输入到php数组中

时间:2012-05-07 02:28:32

标签: php arrays text

我有一个由php打开并阅读的文本文档,看起来像这样

ABC: 123

DEF: 456

GHI: 789

所以基本上它是用冒号结尾的一段文字,然后是另一段文字。为了分隔线,有一个换行符(即“\ n”)

是否可以将其放入由冒号和换行符分隔的数组中?因此,当我打印值时,它应该如下所示:

“ABC:123,DEF:456,GHI:789”

1 个答案:

答案 0 :(得分:1)

您需要做的第一件事就是将这些线分开。

$lines = explode("\n", $doctext);

接下来,逐个处理这些行,分割出适当的值。

$output = array();
foreach ($lines as $line) {
    $line_parts = explode(': ', $line, 2); // Limit 2, in case data contains a colon
    $output[$line_parts[0]] = $line_parts[1];
}

然后,您可以在$output中找到您的数组。请注意,您还应该为这些行添加一些验证,而不是为了确保它们包含您期望的数据。此外,如果行可选地在冒号和值之间包含空格,或者包含可变数量的空格,则在冒号上拆分并根据需要对值使用trim()