在 PHP/MySQL echo URL 变量中检查/插入 http


Check for/insert http in PHP/MySQL echo URL variable

我目前有一个动态PHP页面,它显示数据库中的值以显示如下所示的URL:

<a target="_blank" href="<?php echo($row['Virtual_Tour']); ?>"><?php echo($row['Virtual_Tour']); ?></a>

这很好用,除非数据不包含 http://。 我无法控制数据。 如何测试回显是否以 http://开头,如果没有,则插入回显以确保 URL 格式正确?

if(substr($row['Virtual_Tour'],0,7)=="http://")
{
  //starts with http://, no formatting needed
}
else 
{
  $row['Virtual_Tour']="http://".$row['Virtual_Tour'];
}
您可以

删除现有的 http://(如果存在(,然后像下面的代码一样放置一个新的

<a target="_blank" href="<?php echo "http://".str_replace("http://","",$row['Virtual_Tour']); ?>"><?php echo "http://".str_replace("http://","",( $row['Virtual_Tour']); ?></a>

您也可以使用类似 https://来执行此操作

<a target="_blank" href="<?php echo "http://".str_replace("https://","", str_replace("http://","",$row['Virtual_Tour'])); ?>"><?php echo "http://". str_replace("https://","",str_replace("http://","",( $row['Virtual_Tour'])); ?></a>
如果我

没看错,如果您的 url 不包含您要添加它http://,因为某些答案提供了仅像这样显示它的解决方案:

<a href="something.com">http://something.com</a> .

如果我是对的,你可以使用它:

$string = "something.com";
$string = substr($string,0,6) != 'http://' ? "http://".$string : $string;
echo $string;

工作示例