我正在使用此网站上的代码: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];
这里的结果相同。我能够显示价格,但我不能在链接中使用它。
有人看到这个问题吗?提前谢谢。
答案 0 :(得分:1)
如果没有看到完整的代码,很难看到你在做什么,但http://example.com/example?text=' . $stock . '%20USD
看起来好像是HTML而不是PHP?
取决于您的方法......
PHP:echo 'http://example.com/example?text=' . $stock . '%20USD';
或
HTML:http://example.com/example?text=<?=$stock?>%20USD
编辑:我发现您使用的是评论中的JavaScript,因此请使用上面的HTML示例。
答案 1 :(得分: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>'