2013-04-06 4 views
0

Je veux prendre un fichier texte formaté comme ceci:Créer table HTML à partir de plusieurs lignes de chaînes

* Notez que je peux changer le format des messages stockés, fondamentalement, il y a délimiteurs et des lignes différentes

;68.229.164.10:4/5/2013:Hello 
;71.73.174.13:4/6/2013:Oh Hey 

(; IPADDRESS: timestamp: MESSAGE)

et le mettre dans une table qui ressemble à ceci:

IP      Time     Message 
68.229.164.10   4/6/2013    Hello 
71.73.174.13    4/6/2013    Oh Hey 
+0

J'ai essayé de mettre les valeurs sur leurs propres lignes et ajoutez-les à une table à trois colonnes, cellule par cellule, en générant de nouvelles lignes si nécessaire, mais elle n'a créé que de nouvelles lignes et n'a pas pu être ajoutée aux colonnes. Je suis habitué à programmer en VB et je le fais comme une extension à un programme VB pour publier des mises à jour sur le web pour des choses simples. – jgetrost

Répondre

0

Je préfère utiliser quelque chose comme ce qui suit:

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

Et puis formatez la sortie en conséquence.

de l'exemple 1 sur la page référencée ci-dessus:

<?php 
$row = 1; 
if (($handle = fopen("test.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 
?> 

, vous pourriez faire quelque chose comme ça ...

<?php 
$row = 1; 
if (($handle = fopen("path_to_your_data_file", "r")) !== FALSE) { 

    echo '<table>'; 
    echo '<tr><td></td>IP<td>Time</td><td>Message</td></tr>'; 

    while (($data = fgetcsv($handle, 1000, ":")) !== FALSE) { 
     $num = count($data); 
     $row++; 
     if ($num > 2) { 
      echo '<tr>'; 
      for ($c=0; $c < $num; $c++) { 
       echo '<td>'.$data[$c].'</td>'; 
      } 
      echo '</tr>'; 
     } 
    } 

    echo '</table>'; 
    fclose($handle); 
} 
?> 
+0

http://tros.jgetrost.com/writekeys.php jgetrost

+0

http://tros.jgetrost.com/readkeys.php <- la page où ils peuvent être lus – jgetrost

+0

Pouvez-vous clarifier que signifient vos deux commentaires? – fletch

0
$a=";68.229.164.10:4/5/2013:Hello 
;71.73.174.13:4/6/2013:Oh Hey"; 

preg_match_all('{;(.*?):(.*?):(.*)}',$a,$d); 

//set th 
$d[0][0]='IP'; 
$d[0][1]='TIME'; 
$d[0][2]='Message'; 

$table = '<table>'.PHP_EOL; 
foreach($d AS $tr){ 
    $row = PHP_EOL; 
    foreach($tr AS $td){ 
     $row .= "<td>{$td}</td>".PHP_EOL; 
    } 
    $table .= "<tr>{$row}</tr>".PHP_EOL; 
} 
$table .= "</table>".PHP_EOL; 
echo $table; 
Questions connexes