0

基本上,我有一个文本文档,我正在尝试使用 PHP 来“逐行”解析,所以我可以用它做一些事情,基本上我有一个文本文档,其布局如下

1 Team name
2 Fancy Team
3 My Team
4 Team yay

我尝试执行以下操作来尝试获取 1 个值中的“ID”和另一个值中的“团队名称”

$file1 = "./list_of_clubs.txt";
$lines = file($file1);
foreach($lines as $line_num => $line) {
    $getId = explode(" ",$line);
    echo $getId[1]."<br/>";
}

这样做时,它会爆炸所有空格,例如将1 个团队名称解析为3 个不同的值,因为它有3 个空格,我将如何将ID团队名称中拆分出来,我会使用某种形式的正则表达式吗?

4

5 回答 5

3

您可以限制空间的爆炸。将其更改为:

$getId = explode(" ",$line, 2);

这将使数组有两个条目。第一个是 id,第二个是你想要的团队名称。

http://php.net/manual/en/function.explode.php

于 2013-06-26T02:07:59.907 回答
1

你不会的。只是限制爆炸。

$getId = explode(" ", $line, 2);
于 2013-06-26T02:08:01.687 回答
0

php 索引是0 based这样你的第一个元素在索引 0 处,你将能够通过执行以下操作来捕获 ID

echo $getId[0]."<br/>";
于 2013-06-26T02:08:45.817 回答
0

由于数字位于每行的开头,您可以使用

^\d{1,}

在您的正则表达式中

于 2013-06-26T02:08:52.360 回答
0

我认为这会很好

echo intval("1 Team name"); //outputs 1
echo intval("35 Team name2"); //outputs 35

例子:

$file1 = "./list_of_clubs.txt";
$lines = file($file1);
foreach($lines as $line_num => $line) {
    $getId = intval($line);
    echo $getId."<br/>";
}
于 2013-06-26T02:09:28.633 回答