2013-08-28 3 views
0

우리는 웹 사이트에 시네마 목록을 출력하고자하는 클라이언트가 있습니다. 이 특정 영화관은 정보를 검색 할 수있는 링크를 제공합니다. 이 링크는 단순히 일반 텍스트로 출력되며, 요소는 ~ | ~로 구분됩니다.서식을 PHP로 배열하여 HTML로 배열

나는 목록을 div로 나누기 위해 explode와 strpos를 사용하지만 달성하고자하는 것에는 아직 충분하지 않습니다. 나는 이것을 올바르게 포맷하기 위해 무엇을 할 수 있는지에 대해 머리를 맞지 않는다.

<?php 

$theArray = explode("~|~", file_get_contents("THE URL")); 

echo "<ul id=\"cinemaListings\">"; 

foreach($theArray as $item){ 

    $findcinemaid = '~77'; 
    $findcinemaname = 'Cinema Name'; 
    $findx = 'X'; 
    $findu = 'U'; 
    $findgen = 'Gen'; 
    $findlink = '.ie'; 

    if(strpos($item, $findcinemaname) !== false){ 

     echo "<div class='cinemaName'>" . $item . "</div>"; 

    }elseif(strpos($item, $findgen) !== false){ 

     echo "<div class='cinemaGen'>" . $item . "</div>"; 

    }elseif(strpos($item, $findcinemaid) !== false){ 

     echo "<li>"; 

    }elseif($item == $findx){ 

     echo "<div class='cinemaX'>" . $item . "</div>"; 

    }elseif(strlen($item) == 8){ 

     echo "<div class='cinemaCode'>" . $item . "</div>"; 

    }elseif(strlen($item) == 3){ 

     echo "<div class='cinemaListId'>" . $item . "</div>"; 

    }elseif(strlen($item) == 2){ 

     echo "<div class='cinemaListId'>" . $item . "</div>"; 

    }elseif(strlen($item) == 1){ 

     echo "<div class='cinemaListId'>" . $item . "</div>"; 

    }elseif(DateTime::createFromFormat('H:i', $item) !== FALSE){; 

     echo "<div class='cinemaTime'>" . $item . "</div>"; 

    }elseif(strpos($item, $findlink) !== false){ 

     echo "<div class='cinemaLink'>" . $item . "</div>"; 

    }elseif(DateTime::createFromFormat('d/m/Y', $item) !== FALSE){; 

      echo "<div class='cinemaDate'>" . $item . "</div>"; 

    }else { 

     echo "<div>" . $item . "</div>"; 

    } 
} 

echo "</ul>"; 

?> 
이 스크립트는하지만 출력됩니다

(div의 물론 클래스와, 그냥 그들 모두를 추가하지 않음)

:
<li>The Smurfs 2 2D 30/08/2013 11:10</li> 
<li>The Smurfs 2 2D 30/08/2013 13:20</li> 
<li>The Smurfs 2 2D 31/08/2013 11:10</li> 
<li>The Smurfs 2 2D 31/08/2013 13:20</li> 
<li>Elysium 04/09/2013 15:45</li> 
<li>Elysium 04/09/2013 21:00</li> 
<li>Elysium 05/09/2013 15:45</li> 

는 형식으로 어떤 가능한 방법이 있나요이 내 코드입니다 다음과 같습니다 :

<li> 
The Smurfs 2 2D 
30/08/2013 (today's date) 
11:10 13:20 
</li> 

<li> 
Elysium 
04/09/2013 (today's date) 
15:45 21:00 
</li> 

그래서 단 하나의 영화 이름, 오늘 날짜와 시간 (단과 수업). 그런 다음 다음 영화에 ...

나는 어떤 도움을 주셔서 감사합니다! 미리 감사드립니다.

+0

줄 바꿈을 추가하려는 곳에 '
'을 추가 할 수 없습니까? – RiggsFolly

+0

아니요 중복 된 영화 이름이있는 새 줄을 추가하기 만하면됩니다. 그 날 영화 이름과 시간 만 출력해야합니다. – kala233

답변

0

소스 레이아웃이나 프런트 엔드 HTML 레이아웃에 대해 이야기하고 있습니까? 이와

echo "<div class='cinemaName'>" . $item . "</div>"; 

: 그것은 소스 레이아웃의 경우,이 교체 시도가 (?) :

echo "<div class='cinemaName'>" . preg_replace(' ', "\r\n", $item) . "</div>"; 

$item의 각 세그먼트 사이 3 공백이있는 것처럼 보이는 때문에, 당신은 대체 할 수있다 리턴 속기가있는 컴퓨터 \r\n (또는 일부 시스템의 경우 \n).

프런트 엔드 레이아웃 인 경우 동일한 방법을 사용하고 \r\n 대신 <br/>으로 변경하십시오.