Вывод массива через HTML шаблон

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
FominD
Сообщения: 6

Вывод массива через HTML шаблон

Сообщение FominD » Вс апр 19, 2015 1:51 pm

Здравствуйте, прошу помочь, кому не трудно.
Задача состоит в следующем, есть php страничка со статьёй, к ней через include или через file подключается txt файл с комментариями к этой статье.
В этом txt файле в каждой строке – один коммент (в каждой строке сам комментарий потом разделитель потом имя автора, разделитель и дата), выглядит это так:

Код: Выделить всё

Текст комментария, текст, текст, текст, текст, текст | Имя автора | Дата
Текст комментария, текст, текст, текст, текст, текст | Имя автора | Дата

и тд.
Вопрос, как вывести все эти комментарии, но каждый отдельно через HTML шаблон?
Примерный шаблон:

Код: Выделить всё

<div id="comment">
<div id="name" style="float: left;"><?php echo "$name" ?></div>
<?php echo "$comment" ?>
<div id="date" style="float: right;"><?php echo "$date" ?></div>
</div>

Прошу «не пинать» если что-то неправильно написал, php только-только начинаю осваивать.
Реклама
lyod
Сообщения: 76
Поблагодарили: 1 раз

Re: Вывод массива через HTML шаблон

Сообщение lyod » Вс апр 19, 2015 4:55 pm

Код: Выделить всё

<?php
    # Получаем из файла комментарии
    $comments = file(
        'com.txt',
        FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES
    );
   
    # Разбиваем комментарий на автора, текст и дату
    array_walk($comments, function( & $comment ){
        $comment = explode('|', $comment);
    });
?>
<?php foreach($comments as $comment):?>
    <div id="comment">
        <div id="name" style="float: left;"><?=$comment[1]?></div>
        <p>
            <?=$comment[0]?>
        </p>
        <div id="date" style="float: right;">
            <?=$comment[2]?>
        </div>
    </div>
<?php endforeach;?>
Аватара пользователя
Slash
Администратор
Сообщения: 2031
Поблагодарили: 62 раза

Re: Вывод массива через HTML шаблон

Сообщение Slash » Вс апр 19, 2015 5:44 pm

FominD писал(а):

Код: Выделить всё

<div id="comment">
<div id="name" style="float: left;"><?php echo "$name" ?></div>
<?php echo "$comment" ?>
<div id="date" style="float: right;"><?php echo "$date" ?></div>
</div>

Лучше так:

Код: Выделить всё

<div id="comment">
<div id="name" style="float: left;"><?php echo $name ?></div>
<?php echo $comment ?>
<div id="date" style="float: right;"><?php echo $date ?></div>
</div>

То есть переменные без кавычек ".
Ещё можно так <?=$date; ?>, подробнее в теме Шаблоны в PHP
Ну и Кавычки в PHP - простые и двойные
Аватара пользователя
FominD
Сообщения: 6

Re: Вывод массива через HTML шаблон

Сообщение FominD » Вс апр 19, 2015 8:05 pm

Огромное спасибо!

Вернуться в «PHP»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость