@vasilseodor

Как вывести 3 строки и заголовок?

Есть текстовый файл. В нем построчно есть 100500 строк со словами всякими.
Также есть блок, где нужно вывести 3 строки любые рандомно. Там такой код стоит:
<?php
$file = file("keywords/keys.txt", FILE_IGNORE_NEW_LINES);
foreach($file as $link){echo "<a href=\"index.php?url=$link\">$link</a>";}
?>

Фишка в том, что нужно вывести только 3 строки. не больше и не меньше. И чтобы случайные. То есть при перезагрузке страницы, они меняются и там уже другие значения. Соответственно получаются ссылки, при переходе на которые в строке браузера такие urlы:\
index.php?url=слово1
index.php?url=слово сочетание1
index.php?url=слово2 и т.д. и т.п.

Также есть заголовок. Он формируется исходя из значения url (которое формируется из файла, превращаясь в ссылки при переходе на которую формируеиттся значение url).
Заголовок содержит код: <?php echo $_GET['url']; ?>

Но и тут проблема. Если же страница начальная, index.php то он пуст... Как сделать так, чтобы заголовок также брал значения из url...но если нету url то произвольный текст например: "какойто заголовок".

То есть:
Если в браузере строка index.php то заголовок =Какойто заголовок
Если в браузере строка index.php?url=слово2 то заголовок =слово2

Помогите разобраться с этим!
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 1
BOOMER_74
@BOOMER_74
Full-Stack разработчик
if (($links = file_get_contents("keywords/keys.txt")) !== false) {
  $links = explode("\n", $links);

  $links_count = count($links);

  for ($i = 0; $i < 3; $i++) {
    $link = $links[mt_rand(0, $links_count - 1)];

    echo "<a href=\"index.php?url=$link\">$link</a>"
  }
}

echo $_GET['url'] ?: "Какой-то заголовок";
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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