Данные из базы данных в href link echos site url - PullRequest
0 голосов
/ 12 февраля 2019

Используя цикл foreach в codeigniter, я пытаюсь отобразить ссылки на веб-сайты из базы данных в htf html-тегах, но вместо эхо-ссылки siteurl вместо ссылки на веб-сайт.

<?php foreach ($as as $a): {


<li>

<strong>Web</strong>

 <a href="<?php echo $a['website']; ?>" target="_blank" rel="nowfollow"><? 
 php echo $a['website']; ?></a></div>

   </li>

<?php }endforeach; ?>

, например, www.instagram.com был в базе данных, он будет ссылаться аналогично этому localhost/site/view/www.instagram.com/p/BgHH1TyDqvp/ вместо того, чтобы просто ссылаться тоже www.instagram.com

1 Ответ

0 голосов
/ 12 февраля 2019

Я заметил, что если протокол (http или https) не находится перед внешней ссылкой, он будет обрабатывать его как относительный путь.Если я знаю, что существует вероятность появления внешней ссылки в базе данных, я проверю протокол и добавлю его при необходимости.

Обновленный код

<?php foreach($as as $a) :
    // Check if we have the protocol
    $pro = (substr($a['website'], 0, 4) != 'http' ? 'https://' : '');        
    ?>
    <li>
        <strong>Web</strong>
        <a href="<?= $pro . $a['website'] ?>" target="_blank" rel="nofollow">
            <?= $a['website'] ?>
        </a>
    </li>
<?php endforeach; ?>

Это основано на памяти и убежищене тестировал этот конкретный блок кода.

Я не утверждаю, что это лучший способ справиться с этим, но он работал для меня в прошлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...