【发布时间】:2021-08-18 14:58:26
【问题描述】:
首先,感谢您阅读本文!其次,我无法控制从中获取数据的 .txt 文件。我希望能够获取数据并将其分成 Complete Matches,然后显示这些结果,然后显示 Upcoming Matches 并显示这些结果。
例如:
最近完成的比赛
W6: John Smith vs. Joe Smith, 0-0
L7: Doug Smith vs. Jason Smith, 1-2
and so on
即将举行的比赛
W1: Joan Smith vs. Bruce Smith, 0-0
W1: Jenn Smith vs. David Smith, 0-0
and so on
这是一个示例文件:https://drive.google.com/file/d/11dW2pOK-MXHGRzQhJWb37tlWMqazj8UZ/view?usp=sharing
来自上述链接的示例数据:
<|> Most Recent Completed Matches: W6: Jason Bertolo vs. Ed Gabele, 0-0 | W6: Ed Gabele vs. Jason Bertolo, 0-0 | L7: Doug Metcalf vs. Jason Bertolo, 1-2 | L6: Tom Walsh vs. Jason Bertolo, 0-2 | L5: Jason Bertolo vs. Kevin Kronk, 2-0 | L5: Tom Walsh vs. Zach Dotson, 2-0 | L4: Kevin Kronk vs. Bruce Patete, 2-1 | L4: Zach Dotson vs. Tom Dotson, 0-0 | L3: Bruce Patete vs. Joseph Hornback, 2-0 | L3: Kevin Kronk vs. Matt Smith, 2-1 | L3: Matt Borders vs. Tom Dotson, 1-2 | L3: Zach Dotson vs. Mick Pillar, 2-0 | L2: David Mosel vs. Joseph Hornback, 0-2 | L2: Antoine Tucker vs. Matt Smith, 0-0 | L2: Tom Dotson vs. Mike Conley, 2-1 | L2: Mick Pillar vs. Hannah Fields, 2-0 | L1: Mike Minor vs. Joseph Hornback, 0-2 | L1: David Mosel vs. Tom Johnson, 2-1 | L1: Matt Smith vs. Jennifer Hamilton, 2-1 | L1: Lori Fields vs. Mike Conley, 1-2 | L1: Owen Miller vs. Tom Dotson, 1-2 | L1: Ken Kronk vs. Hannah Fields, 0-2 | W5: Ed Gabele vs. Doug Metcalf, 3-1 | W4: Doug Metcalf vs. Tom Walsh, 3-2 | W4: Jason Bertolo vs. Ed Gabele, 1-3 | W3: Tom Walsh vs. Kevin Kronk, 3-0 | W3: Bruce Patete vs. Doug Metcalf, 1-3 | W3: Ed Gabele vs. Zach Dotson, 3-1 | W3: Matt Borders vs. Jason Bertolo, 0-3 | W2: Kevin Kronk vs. Ken Kronk, 3-2 | W2: Mick Pillar vs. Tom Walsh, 2-3 | W2: Doug Metcalf vs. Owen Miller, 3-2 | W2: Lori Fields vs. Bruce Patete, 1-3 | W2: Matt Smith vs. Zach Dotson, 1-3 | W2: Antoine Tucker vs. Ed Gabele, 0-3 | W2: David Mosel vs. Jason Bertolo, 0-3 | W2: Matt Borders vs. Mike Minor, 3-1 | W1: Joseph Hornback vs. Ken Kronk, 2-3 | W1: Tom Walsh vs. Tom Johnson, 3-0 | W1: Jennifer Hamilton vs. Bruce Patete, 0-3 | W1: Zach Dotson vs. Mike Conley, 3-2 | W1: Ed Gabele vs. Tom Dotson, 3-0 | W1: Mike Minor vs. Hannah Fields, 3-1 <|> Upcoming Matches: <|>
到目前为止我尝试过的代码是:
<?php
$text = file_get_contents('https://drive.google.com/uc?export=download&id=11dW2pOK-MXHGRzQhJWb37tlWMqazj8UZ');
$json = (explode('|',$text));
//var_dump ($json);
//print "\n";
$trimmed = trim($text);
print_r ($trimmed);
?>
看起来不错,但是对于我的生活,我无法弄清楚现在如何简单地列出两个“|”之间的所有值字符。
关于我可以做些什么来操作此文本以达到我想要的结果的任何想法?
此外,您应该知道,在实际比赛期间,此数据每 60 秒就会更改一次。我不知道这是否重要,但我想我会确保你知道这些数据不是静态的。唯一不变的是 表示最近的匹配或已完成的匹配,结果总是在两个 | 之间。字符。
再次感谢您的宝贵时间!
【问题讨论】:
-
如果文本文件不包含 JSON,您为什么希望内容通过 JSON 验证?这里的实际问题是什么?您是否真的尝试过将其转换为 JSON?另外,请分享一个实际文件的小样本(您显示的内容中没有竖线字符),以及
$matches的样本。依赖外部链接并不好,因为将来可能会中断。 -
@El_Vanja 查看我的编辑。另外,我不一定要尝试将其转换为 JSON,但如果这是我尝试进行此操作时的最初想法。我正在尝试按照我上面在网页上的问题中所述对其进行格式化。再次感谢您的阅读,感谢任何反馈。另外,不确定我是否理解反对票,因为这个问题比我见过的许多问题要好得多。此外,在我编辑之前,您要求的所有内容都可以轻松获得,只需单击一下即可,但我想如果将来有人偶然发现它,链接可能会失效。
-
更简单的开始路径是使用
explode和字符串操作函数来实现您想要的结果。如果您想使用正则表达式解析您的文件,我建议您标记它。 -
@El_Vanja 谢谢!我去看看。
-
取得了一些进展,但在提取“|”之间的数据时遇到了另一个障碍人物。运气不好!
标签: php json regex text-parsing