<a> элемент перепутан с https URL - PullRequest
1 голос
/ 27 апреля 2020

У меня есть простой элемент <a> на моем веб-сайте: href="//<?php echo $link; ?>" target="_blank">LINK

$link извлекается из моей базы данных. Это $link похоже на: google.com, www.google.com, https://google.com, http://google.com.

Я прочитал, что для того, чтобы иметь абсолютные href URL-адреса, я должен префикс $url с //. Но когда $link=https://www.google.com Элемент <a> перенаправляет браузер на https://https//www.fxp.co.il - что неправильно. Как это можно исправить?

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Привет, вы можете создать простую функцию, подобную этой:

<a href="<?= getClearUrl($link); ?>" target="_blank">LINK</a>

функция:

function getClearUrl($link){
    if(filter_var($link, FILTER_VALIDATE_URL)){
        return $link;
    }else{
        return "//" . $link;
    }
}
0 голосов
/ 27 апреля 2020

Если $link уже содержит https:// или http:// (или //) в начале, то вам не следует префиксировать его с другим //, но если это не так, вы должны, поэтому возможно, проверьте это, прежде чем повторить ссылку.

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