Прервать foreach, добавить строку и продолжить цикл

Столкнулся с интересной задачей. При парсинге пагинации с другого сайта, парсятся только ссылки, из-за чего в пагинации пропадает страница, на которой находишься, так как это не ссылка, а блочный элемент. Нагуглил, что foreach можно прервать и продолжить, но какое задать условие для его продолжения, я не понял. Может есть другие способы?

Вот код:

foreach ($html->find('.paginator a') as $pagination) {
    echo '<a href="/'.$pagination->plaintext.'">'.$pagination->plaintext.'</a>';

    if ($pagination->plaintext == '') {
        break;
        echo '<span class="pagination-current">'.$_GET['page'].'</span>';
    }
}

Да и то, что я понаписал - не работает. Первая часть пагинации не отображается.


Ответы (1 шт):

Автор решения: Tunker

Вам достаточно расширить ваш цикл, добавив, чтобы он находил и блочный элемент, а внутри цикла уже проверяйте ссылка это ли текущая страница: $html->find('.paginator a, .pagination-current') - так в цикл будут включены все классы .paginator a и .pagination-current

→ Ссылка