2017-02-15 9 views
0

私はPHPには新しく、テキストファイルからデータを収集してテーブルに出力する簡単なスクリプトを作成しました。出力は次のようになりますテキストファイルからの単語の長さの印刷

0086.se 2017-04-02 
0102design.se 2017-03-03 
0141.se 2017-04-21 
0158.se 2017-03-27 

テキストファイル内のデータが次のようになります

<table> 
<tr><th>Name</td><th>Date</td></tr> 
<tr><td>0086.se</td><td>2017-04-02</td></tr> 
<tr><td>0102design.se</td><td>2017-03-03</td></tr> 
<tr><td>0141.se</td><td>2017-04-21</td></tr> 
<tr><td>0158.se</td><td>2017-03-27</td></tr> 
</table> 

これは私のコードです:

<table> 
    <tr> 
     <th>Name</td> 
     <th>Date</td> 
    </tr> 
<?php 
$file_handle = fopen("domaner.txt", "rb"); 

while (!feof($file_handle)) { 
    $line_of_text = fgets($file_handle); 
    $parts = explode(' ', $line_of_text); 
    echo "<tr><td>$parts[0]</td><td>$parts[1]</td></tr>"; 
} 
fclose($file_handle); 
?> 
</table> 

私がしたいです名前列に単語の長さを表示するが、 ".se"を数えずに、日付列の後にTDをもう1つ追加することです。たとえば0086.seは、このように長さ4を与えるだろう:

私は、誰かが私がここに達成するために:)しようとしています何を理解してほしい
<tr><td>0086.se</td><td>2017-04-02</td><td>THE LENGHT OF 0086 HERE</td></tr> 

答えて

1

に以下をごエコーを変更します。

<table> 
    <tr> 
     <th>Name</th> 
     <th>Date</th> 
     <th>Lenght</th> 
    </tr> 
<?php 
$file_handle = fopen("domaner.txt", "rb"); 

while (!feof($file_handle)) { 
    $line_of_text = fgets($file_handle); 
    $parts = explode(' ', $line_of_text); 
    $tmp = explode('.', $parts[0]); 
    echo "<tr><td>".$parts[0]."</td><td>".$parts[1]."</td><td>".strlen($tmp[0])."</td></tr>"; 
} 
fclose($file_handle); 
?> 
</table> 
+0

ありがとう、しかし、それは私にすべてのテーブルの行に値0を与えます。 – AndreasC

+0

最初のものは1つではなく2重のスペースとして爆発し、私はそれを修正します。 –

+0

私はそれが優れた仕事を手に入れました!ありがとうございました。 – AndreasC

0

これはあなたが探している番号を与える必要があります!

echo strlen($ parts);

+0

は、あなたの答えをいただき、ありがとうございます。それをコードに含める方法を教えてください。私はそれを働かせることができません私は恐れています。 – AndreasC

+0

@ laurent-ubは、あなたのコードにそれを組み込む方法を含め、絶対に素晴らしい実装をもたらしました。私は彼/彼女の答えに従うだろう - それは私の最初の考えよりも優れている。 – 0708

+0

はい、私はそれを使用しています、ありがとう:) – AndreasC

0

作業をする必要があり、この1

echo "<tr><td>$parts[0]</td><td>$parts[1]</td><td>iconv_strlen($parts[0])-3</td></tr>"; 
関連する問題