所以,我正在尝试做一个HTML表格并在PHP中使用结果数组。大多数情况下,我得到了我想要的东西,但有一件事很棘手,而且我已经尝试在谷歌搜索了很长一段时间了。
我的HTML公式的简短版本:
<html>
<body>
<form action="test.php" method="POST"/>
<table border="0">
<tr>
<td align="right"><span style="font-family:Verdana">Übersicht</span></td>
<td><textarea name="uebersicht" cols="20" rows="20"></textarea></td>
</tr>
</table>
</form>
</body>
</html>
<?php
$uebersicht = $_POST['uebersicht'];
$uebersicht = preg_split('/\n/', $uebersicht);
for ($start=0; $start < count($uebersicht); $start++) {}
?>
以下是我希望粘贴到HTML公式中的文本示例:
Samperio (59.)
Brosinski (68.)
0:2
beendet
FSV Mainz 05Borussia Dortmund
Coface Arena, 34.000 Zuschauer
Schiedsrichter: Tobias Stieler aus Hamburg
Reus (18., Aubameyang)
Mkhitaryan (82., Aubameyang)
Mkhitaryan (10.)
长度变化很大,取决于目标和牌。拆分数组并不难,我只需执行$uebersicht = preg_split('/\n/', $uebersicht);
,如代码所示。
现在我想让每个在这场比赛中得到一张牌的玩家(每一行以Samperio (59.)
结尾),团队(也必须分开),每个目标(如行{{ 1}}和每个助手(括号中的球员,如Mkhitaryan (82., Aubameyang)
)成为一个单独的变量。重要的是要知道球员是哪支球队(第一线是来自Aubameyang
的球员,最后一线是来自FSV Mainz 05
的球员。
这里的问题是它的可变性。每个游戏看起来都不同,这可以在另一个例子中显示:
Borussia Dortmund
无法使用设定的行号。我真的不知道如何继续前进,得到我想要的东西。是否有可能使用触发器,例如“new line”和“(”或“)”之类的组合?或者搜索特定字符并获取它们所在的行?
或者没有preg_split的解决方案吗?没有,第一个例子看起来像这样:
André (39., Brahimi)
Maicon (52., Neves)
Martins Indi (19.)
Marcano (25.)
Pereira (82.)
Imbula (89.)
2:1
beendet
FC PortoFC Chelsea
Estádio do Dragao, 55.000 Zuschauer
Schiedsrichter: Antonio Miguel Mateu Lahoz aus ESP
Willian (45., )
Cahill (41.)
Azpilicueta (66.)
Matic (79.)
只有一条长线 - 但我猜这种方式更难?!
或者PHP可能不是正确的“语言”?
答案 0 :(得分:1)
对于记录,没有更好的语言,可以使用php,javascript,python,无论你想要什么。更多的是要弄清楚这个过程,一旦你这样做,你可以用你想要的任何语言编写代码。
您最好的选择是逐行浏览,并尝试在每一行中确定内容,目标,辅助目标,惩罚或其他元数据。
我首先将你已经完成的newline分解为一个数组,然后使用foreach数组元素,通过另一个查找某些预设模式的regex语句运行它。对于目标,它可能是一些文本,后跟一个开头和右括号,中间有一个整数。
你需要学习一个垃圾正则表达式来做到这一点,但它确实是唯一的方法,除非你想支付stats.com或使用另一个API来获得已正确格式化的数据。
此外,第一线可能始终是球队,但目标数是使其余线条动态化的原因。这样,您可以更轻松地找到某些元数据。
所以,你可以说第1行总是团队名称,第2行总是位置,然后其他一切都是惩罚和目标。