@eddasphp

А как разделить на 5 абзацев Php?

$get = file_get_contents("http://api.test.net/json.aspx?AppId={myid}&Query=test&Sources=Web&Market=en-US&WebFileType=%27HTML%27&web.offset=1&Web.Count=20");
$decode = json_decode($get, TRUE); // TRUE for in array format
foreach($decode['SearchResponse']['Web']['Results'] as $res) {
$str  = $res['Description'];
for($i = 1; $i <= 20; $i++) {
        echo $str.$i.' ';
        if ($i==7 || $i==3 || $i==2 || $i==4 || $i==4){
                echo '</p><p>';
        }
}


1 абзац - тут 7 первых результатов
2 абзац - тут 3 следующих результатов
3 абзац - тут 2 следующих результатов
4 абзац - тут 4 следующих результатов
5 абзац - тут 4 следующих результатов


Что-то фигня какая-то выходит. Что ни так делаю?
  • Вопрос задан
  • 538 просмотров
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Как разделить текст на 5 частей php?

в целом вам нужно порезать массив с результатами (array_slice) и уж потом заниматься генерацией html. Сначала данные обрабатываем и затем только рендерим, так будет намного проще.
Ответ написан
dzheka3d
@dzheka3d
Вы не открыли перед циклом параграф и не закрыли после него
Получается что праивльно он у вас будет работать как минимум со второй строки
Ответ написан
Комментировать
@Zerzess
echo '<p>';
for($i = 1; $i <= 20; $i++) {
        echo $str.$i.' ';
        if ($i==7 || $i==3 || $i==2 || $i==4 || $i==4){
                echo '</p><p>';
        }
echo '</p>';


И абзацев будет 4 а не 5 т.к. цифр 4 в проверке 2 раза
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы