Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中拆分动态长度数组_Php_Html_Arrays - Fatal编程技术网

在PHP中拆分动态长度数组

在PHP中拆分动态长度数组,php,html,arrays,Php,Html,Arrays,因此,我试图用PHP编写一个HTML公式并使用生成的数组。大多数情况下,我得到了我想要的,但有一件事很棘手,我已经在谷歌上尝试搜索了很长一段时间 我的HTML公式的简短版本: <html> <body> <form action="test.php" method="POST"/> <table border="0"> <tr> <td align="right">

因此,我试图用PHP编写一个HTML公式并使用生成的数组。大多数情况下,我得到了我想要的,但有一件事很棘手,我已经在谷歌上尝试搜索了很长一段时间

我的HTML公式的简短版本:

<html>
  <body>
    <form action="test.php" method="POST"/>
      <table border="0">
        <tr>
          <td align="right"><span style="font-family:Verdana">&#220;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++) {}
?>
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)如代码中所示

现在我想让每一个在这场比赛中得到一张牌的玩家(每一条线都像萨姆佩里奥(59.)
),每一支球队(也必须分开),每一个进球(像线
Mkhitaryan(82.,Aubameyang)
和每一次助攻(括号中的玩家,像
Aubameyang
)重要的是要知道球员是哪支球队的(第一行是来自
FSV Mainz 05
的球员,最后一行是来自
多特蒙德的球员)

这里的问题是它的可变性。每个游戏看起来都不同,这可以在另一个示例中显示:

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.)
设置行号是不可能的。我真的不知道如何在这里继续并得到我想要的。有没有可能使用触发器,例如“新行”和“(“或”)”组合使用?或者搜索特定字符并获得它们所在的行

或者有没有没有没有preg_split的解决方案?没有preg_split,第一个示例如下所示:

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.)
只排了一长队,但我猜这样更难


或者PHP不是合适的“语言”?

记录在案,没有比这更好的语言,可以用PHP、javascript、python,任何你想要的语言来完成。更多的是要弄清楚这个过程,一旦你这样做了,你可以用任何你想要的语言来编写代码

最好的办法是逐行检查,并尝试确定每行中的内容、目标、目标以及辅助、惩罚或其他元数据

首先,我会按照已经完成的换行符将其分解成一个数组,然后对于每个数组元素,通过另一个regex语句运行它,以查找某些预设模式。对于目标,它可能是一些文本,然后是一个中间带整数的左括号和右括号

要做到这一点,你需要学习一些正则表达式,但这确实是唯一的方法,除非你想付费给stats.com或使用另一个API来获得已经正确格式化的数据

此外,团队可能永远是第一行,但目标的确定使其他行变得动态。这样,您可以更轻松地找到某些元数据


所以,你可以说第1行永远是球队名称,第2行永远是位置,然后其他一切都是点球和进球。

最好使用API,比如@baao,如果他有这个选择,他肯定不会这样做:)好吧,尽管这听起来像是一个巨大的解决办法,因为现在没有更好的主意,我会尝试你的建议。