在PHP中解析来自ini的节名称

时间:2014-06-22 06:54:37

标签: php html parsing ini

我整晚都在弄乱这段代码,并且无法将它完全弄清楚,并且不确定甚至可以搜索什么。

这就是我正在做的事情。我使用PHP将.ini文件解析为HTML表。

以下是我在html文件中使用的内容:

<?php
  $datas  = parse_ini_string(file_get_contents( 'https://dl.dropboxusercontent.com/u/12345/test.ini' ), true);
?>
<table border="1" cellspacing="0" cellpadding="5">
  <tbody>
    <?php
      foreach( $datas as $data ) {
    ?>
    <tr>
      <td rowspan="2"><?php echo htmlspecialchars( $data["name"] ); ?></td>
      <td>Name</td>
      <td>Points</td>
    </tr>
    <tr>
      <td><?php echo htmlspecialchars( $data["Name"] ); ?></td>
      <td><?php echo htmlspecialchars( $data["Points"] ); ?></td>
      </td>
    </tr>
    <?php
      }
    ?>
  </tbody>
</table>

我希望在桌面上显示的内容是&#34;第n&#34;下面:

[Section 1]
Points=3

[Section 2]
Points=173

[Section 3]
Points=173

我不知道如何展示&#34;第n&#34;在表格中,我希望它采用以下格式:

Section number  |  Points
Section 1       |  3
Section 2       |  173
Section 3       |  173

非常感谢任何帮助或指示!非常感谢你!!

2 个答案:

答案 0 :(得分:4)

以下是有效的代码,您可以使用该键获取部分名称。

<?php
  $datas  = parse_ini_string(file_get_contents( 'http://hastebin.com/raw/ikovafilib' ), true);
?>
<table border="1" cellspacing="0" cellpadding="5">
  <tbody>
    <?php
      foreach( $datas as $section => $data ) {
    ?>
    <tr>
      <td rowspan="2"><?php echo htmlspecialchars( $data["name"] ); ?></td>
      <td>Name</td>
      <td>Points</td>
    </tr>
    <tr>
      <td><?php echo htmlspecialchars( $section ); ?></td>
      <td><?php echo htmlspecialchars( $data["Points"] ); ?></td>
      </td>
    </tr>
    <?php
      }
    ?>
  </tbody>
</table>

编辑:将来,当你处理一个你不知道输出的数组时,你可以使用print_r()函数调试它输出的内容。

答案 1 :(得分:1)

添加Ini parse_ini_file部分名称作为密钥。

尝试使用

<?php
  foreach( $datas as $key => $data ) {
?>
<tr>
  <td rowspan="2"><?php echo htmlspecialchars( $key ); ?></td>
  <td>Points</td>
</tr>
<tr>
  <td><?php echo htmlspecialchars( $key ); ?></td>
  <td><?php echo htmlspecialchars( $data["Points"] ); ?></td>
  </td>
</tr>
<?php
  }
?>