我正在使用这个网站上的代码:http://blog.chapagain.com.np/php-how-to-get-stock-quote-data-from-yahoo-finance-complete-code-and-tutorial/
$stock = "GOOG";
$objYahooStock->addFormat("sl1");
$objYahooStock->addStock($stock);
foreach( $objYahooStock->getQuotes() as $code => $stock) {
$stock = $stock[1];
}
但是,我不能在链接中使用变量$stock
。如果我尝试在页面上显示它(echo $stock;
(,它正在工作。我可以看到股票价格,但我无法在链接中使用变量,见下文。
http://example.com/example?text=' . $stock . '%20USD
我还尝试将股票价格保存到没有foreach循环的变量中。
$stock = "GOOG";
$price = $objYahooStock->getQuotes();
$stock = $price[$stock][1];
这里的结果相同。我可以显示价格,但我不能在链接中使用它。
有人看到这个问题吗?提前谢谢。
基本上你需要分析输出。尝试var_dump
并查看结果。
在您的情况下$stock
字符串中有一些字符。尝试以下SNL1D1T1CV格式的解决方案:
$objYahooStock = new YahooStock;
$objYahooStock->addFormat("snl1d1t1cv");
$objYahooStock->addStock("GOOG");
$price = $objYahooStock->getQuotes();
$stock = "GOOG";
$stock = $price[$stock][1];
var_dump($price);
echo '<script>window.open("http://example.com/example?text=' . str_replace('"','',$stock) . '%20USD");</script>'
此解决方案在我的机器上打开了一个新窗口
编辑:对于以下格式SL1,解决方案将起作用:
$objYahooStock = new YahooStock;
$objYahooStock->addFormat("sl1");
$objYahooStock->addStock("GOOG");
$price = $objYahooStock->getQuotes();
$stock = "GOOG";
echo $stock = $price[$stock][1];
var_dump($price);
echo '<script>window.open("http://example.com/example?text=' . str_replace(''n','',trim($stock)) . '%20USD");</script>'
如果没有看到完整的代码,很难看到你在做什么,但http://example.com/example?text=' . $stock . '%20USD
看起来好像这是 HTML 而不是 PHP?
根据您的方法...
PHP: echo 'http://example.com/example?text=' . $stock . '%20USD';
或;
网页: http://example.com/example?text=<?=$stock?>%20USD
编辑:我看到你从你的评论中使用JavaScript,所以使用上面的HTML示例。