2009-12-07 4 views
0

링크와 함께 테이블에 출력 할에게 TEXTFILE을 수행는 어떻게이 텍스트 파일이

Dec 04 20:15 Naruto 123 
Dec 04 17:42 Naruto 98 
Dec 04 16:19 D Gray Man 001 
Dec 04 16:05 Bleach 128 
Dec 04 12:13 50 x 50 44 

I 출력 할 필요가 자신의 열의와의 날짜 및 시간과 함께 테이블에 내용 타일과 챕터.

<a href="/title/title chapter">title chapter</a> 

는 설명을 위해 텍스트 파일의 제목은 다음과 같습니다 :

또한 .. 나는이 방법을 포맷해야합니다 링크와 함께 제목과 장을 교체해야

Naruto 
Naruto 
D Gray Man 
Bleach 
50 x 50 

다음 장 번호는 다음과 같습니다.

123 
98 
001 
128 
44 
+0

이 방법은 링크가'되고 싶지 않습니다 "을/나루토/나루토 (123) "'? 내 업데이트를 확인하십시오. – Amarghosh

+0

예 : D 감사합니다! – D3V1NE

답변

0
  1. 파일을 읽고 각 줄을 배열에 저장하십시오.
  2. 열기 <table> 태그
  3. 배열을 반복하고 regex를 사용하여 날짜/시간/제목/장을 추출하십시오. , 배열의 각 항목에 대해

    /^([a-zA-Z]{3}\s\d{2})\s(\d{2}:\d{2})\s(.+?)\s(\d+)\s*?$/ 
    //$1 contains date : "Dec 04" 
    //$2 contains time : "20:15" 
    //$3 contains the title : "Naruto" 
    //$4 contains the chapter : "123" 
    

    가득 적절한 <tr> & <td> 태그를 쓰기 : 당신이 당신의 요구를 충족하기 위해 그것을 조금 수정 할 수 있습니다 - 여기

로 시작하는 정규 표현식이다 추출 된 데이터.

업데이트 :

트릭을 할해야 이런 식으로 뭔가가 (코드 테스트하지 않았습니다)
<?php 
$filedata = "Dec 04 20:15 Naruto 123 
Dec 04 17:42 Naruto 98 
Dec 04 16:19 D Gray Man 001 
Dec 04 16:05 Bleach 128 
Dec 04 12:13 50 x 50 44"; 

$lines = explode("\n", $filedata); 

echo "<table border=\"1\">"; 

foreach($lines as $line) 
{ 
    echo "<tr>"; 
    preg_match("/^([a-zA-Z]{3}\s\d{2}\s\d{2}:\d{2})\s(.+?)\s(\d+)\s*?$/", $line, $matches); 
    echo "<td>$matches[1]</td>"; 
    echo "<td><a href=\"/$matches[2]/$matches[2] $matches[3]\">$matches[2] $matches[3]</a></td>"; 
    echo "</tr>"; 
} 
echo "</table>" 
?> 
+0

감사합니다 : D 조 작품! – D3V1NE

1

:

$data = Explode ("\n", File_Get_Contents ('yourfile')); 

foreach ($data as $key => $line) 
{ 
    $tmp = Explode (' ', $line); 
    $month = $tmp[0]; 
    $day = $tmp[1]; 
    $time = $tmp[2]; 
    $numOfEntries = Count ($tmp); 
    $chapter = $tmp[$numOfEntries - 1]; 

    $title = ''; 
    for ($i = 3; $i < $numOfEntries - 1; $i++) 
     $title .= $tmp[$i] . ' '; 

    $title = Trim ($title); 

    $link = '<a href="/' . $title . '/' . $title . ' ' . $chapter . '">' . $title . ' ' . $chapter . '</a>'; 
} 
+0

어쨌든 공간을 지키고 있습니까? 공백없이 출력하고 있습니다. 여기를 클릭하십시오 : http://xennetworks.com/output5.php – D3V1NE

+0

귀하의 진술은 작동하지만 이전에 언급했듯이. 공간을 지킬 수있는 방법이 있습니까? 제목의 공백을 제거합니다. 예 : D 그레이 맨이 ===> DGrayMan으로 바뀜 – D3V1NE

+0

변경된 코드를 참조하십시오 ... –