使用CSS和file_get_contents时,文本根本没有被回显

时间:2013-05-15 11:26:00

标签: php css echo title

<html>
<?php
$url = "http://www.youtube.com/embed/FTGNAupPqpU";
$str = "title of video here";
$css = <<<EOT
<style type="text/css">
 body
   {
   background: #eeeeee;
   width:560px; 
   height:315px;
   }
</style>
EOT;
$data = file_get_contents($url);
$data = str_replace('</body>', $css.'</body>', $data);
echo '<div style="overflow:scroll;">'.$data.'</div>';
echo $str
?>
</html>

$url存储了变量(主要是YouTube视频)时,它根本不会回显$str,但当$url什么都没有时,$str回声和我不知道为什么?我希望视频显示在顶部,并使用$str作为视频的标题。

2 个答案:

答案 0 :(得分:4)

您的视频容器和正文高度相等,因此隐藏了该div之后的所有内容 看看是否有效:

<html>
<?php
$url = "http://www.youtube.com/embed/FTGNAupPqpU";
$str = "title of video here";
$css = <<<EOT
<style type="text/css">
 body
   {
   background: #eeeeee;
   width:560px; 
   height:315px;
   color:#000;
   }
</style>
EOT;
$data = file_get_contents($url);
$data = str_replace('</body>', $css.'</body>', $data);
echo '<div style="overflow:scroll; height:300px;">'.$data.'</div>';
echo $str;
?>
</html>

答案 1 :(得分:0)

试试这个.. 您需要控制显示数据的div的高度和宽度

<html>
<?php
$url = "http://www.youtube.com/embed/FTGNAupPqpU";
$str = "title of video here";
$css = <<<EOT
<style type="text/css">
 body
 {
  background: #fff;
    width:560px; 
  height:315px;
  }
</style>
EOT;
$data = file_get_contents($url);
echo '<div style="overflow:scroll; height:500px;width:500px">'.$data.'</div>';
echo $str
?>
</html>

请参阅phpfiddle