0

現在、データベースからの値を表示して次のような URL を表示する動的 PHP ページがあります。

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

これは、データに http:// が含まれていない場合を除き、うまく機能します。私はデータを制御できません。エコーが http:// で始まるかどうかをテストするにはどうすればよいですか? そうでない場合は、それも挿入して、URL が適切にフォーマットされていることを保証しますか?

4

3 に答える 3

1
if(substr($row['Virtual_Tour'],0,7)=="http://")
{
  //starts with http://, no formatting needed
}
else 
{
  $row['Virtual_Tour']="http://".$row['Virtual_Tour'];
}
于 2013-10-08T14:45:39.180 に答える
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>
于 2013-10-08T15:01:38.410 に答える
0

私が正しく取得した場合、URLに含まれていない場合はhttp://、追加したいのですが、一部の回答では次のようにのみ表示するソリューションが提供されているためです

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

私が正しければ、これを使用できます:

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

実施例

于 2013-10-08T14:48:06.470 に答える