У меня есть простой элемент <a> на моем веб-сайте: href="//<?php echo $link; ?>" target="_blank">LINK
<a>
href="//<?php echo $link; ?>" target="_blank">LINK
$link извлекается из моей базы данных. Это $link похоже на: google.com, www.google.com, https://google.com, http://google.com.
$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 - что неправильно. Как это можно исправить?
href
$url
//
$link=https://www.google.com
https://https//www.fxp.co.il
Привет, вы можете создать простую функцию, подобную этой:
<a href="<?= getClearUrl($link); ?>" target="_blank">LINK</a>
функция:
function getClearUrl($link){ if(filter_var($link, FILTER_VALIDATE_URL)){ return $link; }else{ return "//" . $link; } }
Если $link уже содержит https:// или http:// (или //) в начале, то вам не следует префиксировать его с другим //, но если это не так, вы должны, поэтому возможно, проверьте это, прежде чем повторить ссылку.
https://
http://