好的,所以我有一个php变量存储:
http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=json-in-script&callback=youtubeFeedCallback
这很好,我想做以下事情:
<script type="text/javascript" src="<?php echo $string; ?>"></script>
但它似乎没有起作用
感谢您的帮助
编辑: 这是我的代码,尝试了以下所有3个答案,但没有奏效: http://pastebin.com/xYKW8TTd
答案 0 :(得分:2)
这似乎按预期工作:
<?php
$string="http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=json-in-script&callback=youtubeFeedCallback";
?>
<script type="text/javascript" src="<?php echo $string; ?>"></script>
输出:
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=json-in-script&callback=youtubeFeedCallback"></script>
编辑:在pastebin的源代码中,您似乎有:
$string = "http://gdata.youtube.com/feeds/api/videos/" . $id ."?v=2&alt=json-in-script&callback=youtubeFeedCallback";
在&
的地方包含&
,这会阻止链接正常工作。这是签名做了什么,或者是原始代码吗?
您无法将HTML代码发送到网址窗口,并希望它的工作方式与在HTML网页中的工作方式相同。
以下代码(仅编辑$id
,因为我没有在GET和修改后的&
符号中添加任何内容:
<html>
<head>
<?php
//$id = $_GET['id'];
$id=0;
$string = "http://gdata.youtube.com/feeds/api/videos/" . $id ."?v=2&alt=json-in-script&callback=youtubeFeedCallback";
?>
<title></title>
</head>
<body>
<?php echo $string; ?><br>
<script type="text/javascript" src="<?php echo $string; ?>"></script>
输出:
<title></title>
</head>
<body>
http://gdata.youtube.com/feeds/api/videos/0?v=2&alt=json-in-script&callback=youtubeFeedCallback<br>
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/0?v=2&alt=json-in-script&callback=youtubeFeedCallback"></script>
答案 1 :(得分:0)
试试这个: -
<?php
$str = 'http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=json-in-script&callback=youtubeFeedCallback';
?>
<script type="text/javascript" src="<?php echo $str; ?>"></script>
答案 2 :(得分:0)
<?php
$string = 'http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=json-in-script&callback=youtubeFeedCallback';
?>
<script type="text/javascript" src="<?=$string;?>"></script>
答案 3 :(得分:0)
试试这个:
echo "<script type=\"text/javascript\" src=\"".$string"\"></script>\n";
如果“不起作用”,则字符串常量会出现一些错误,导致javascript错误。
请提供更多信息,例如生成的来源或确切的浏览器错误。
<强>更新强>
@ user1641732:截至Mahan的评论。你包括JSON对象,而不是javascript。你试图实现什么?您是否了解JSON对象和javscript代码之间的区别?
答案 4 :(得分:0)
你为什么要这样做?从YouTube检索数据的最佳方法是执行php cUrl请求并解码json数据,或者,如果你真的需要,你可以将内容保存到file_put_contents或fopen的文件中。
这是一个cUrl示例,添加您自己的$ url变量:
// get the data via curl
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_ENCODING, "" );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt( $ch, CURLOPT_TIMEOUT, 10 );
$rsp = json_decode(curl_exec($ch));
curl_close($ch);
答案 5 :(得分:0)
<?php
$string = "http://gdata.youtube.com/feeds/api/videos/gzDS-Kfd5XQ?v=2&alt=json-in-script&callback=youtubeFeedCallback";
?>
<script type="text/javascript" src="<?php echo $string; ?>"></script>