我们有一位客户希望在其网站上输出影院列表。这个特殊的电影为我们提供了从中检索信息的链接。此链接仅以纯文本格式输出,元素由〜|〜
分隔我正在使用explode和strpos将列表划分为div但是它仍然不足以满足我想要实现的目标。我无法理解我能做些什么才能正确格式化。这是我的代码:
<?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 :(得分: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/>
。