-2

好的,所以我有一个 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

4

6 回答 6

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&amp;alt=json-in-script&amp;callback=youtubeFeedCallback";

其中包含&amp;&停止链接工作的位置。这是 pastebin 所做的事情还是在您的原始代码中?

您不能将 HTML 代码发送到 URL 窗口并期望它像在 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>
于 2012-09-06T08:40:42.087 回答
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>
于 2012-09-06T08:39:20.890 回答
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>
于 2012-09-06T08:39:29.213 回答
0

试试这个:

echo "<script type=\"text/javascript\" src=\"".$string"\"></script>\n";

如果这“不起作用”,则字符串常量中有一些错误会导致 javascript 错误。

请提供更多信息,例如生成的源代码或确切的浏览器错误。

更新:

@user1641732:根据马汉的评论。您包括 JSON 对象,而不是 javascript。您要实现什么?您了解 JSON 对象和 javscript 代码之间的区别吗?

于 2012-09-06T08:39:58.297 回答
0

你为什么要这样做?Surly 从 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);
于 2012-09-06T08:55:00.373 回答
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>
于 2012-09-06T09:59:43.047 回答