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

时间:2013-10-08 14:43:55

标签: php mysql

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

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

当数据不包含http://时,此功能非常好。我没有控制数据。我如何测试以查看回显是否以http://开头,如果没有插入以保证URL格式正确?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

如果我说得正确,如果你的网址不包含http://,你想要添加它,因为有些答案提供了解决方案,只能这样显示:

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

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

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

working example

答案 2 :(得分:0)

您可以删除现有的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:// like

执行此操作
<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>