как из базы mysql поле text построчно обернуть в li?

202
21 октября 2021, 00:10
<?php foreach ($posts as $post) : ?>

<strong>Обязанности:</strong>
<Ul>
<li><?= $post['Obyazannosti'] ?></li>
</Ul>
<strong>Требования:</strong>
<ul>
<li><?= $post['Requirements'] ?></li>
</ul>
<strong>Условия:</strong>
<ul>
<li><?= $post['Usloviya'] ?></li>
</ul>

<?php endforeach; ?>

в базе mysql поле Usloviya просто текст (это одно поле):

текст;
текст;
текст;
текст;
текст;
текст;

как сделать, чтобы при выводе из поля Usloviya каждая строка оборачивалась в li?

Answer 1

Здравствуйте, Илья.

Разделите строку на массив строк с помощью explode() и пройдитесь по этому массиву с помощью foreach():

<?php foreach ($posts as $post) : ?>

<strong>Обязанности:</strong>
<Ul>
<li><?= $post['Obyazannosti'] ?></li>
</Ul>
<strong>Требования:</strong>
<ul>
<li><?= $post['Requirements'] ?></li>
</ul>
<strong>Условия:</strong>
<ul>
foreach (explode(';',$post['Usloviya']) as $Uslovie) {
    echo '<li>'.$Uslovie.'</li>';
}
</ul>

<?php endforeach; ?>

Замените ; на \n в foreach() чтобы строка "оборачивалась" только при переносе строки.

Оффтоп:

Имена переменных транслитом считаются признаком плохого тона. Правильнее будет использовать английский язык для имён переменных. Но это конечно, на Ваше усмотрение.

READ ALSO
ООП возврат строки

ООП возврат строки

Имеется класс

156
запись объекта в массив

запись объекта в массив

на вход поступает объект, нужно записать в сsv файл, преобразовав объект в массив

95
Как вывести меню в WorPress

Как вывести меню в WorPress

Есть меню которое состоит из рубрикНужно

197