$q = $_GET['q'];
// Load and parse the XML document
$rss = simplexml_load_file('http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1');
这会返回包含"$q"
的结果,而不是包含$q
值的结果。为什么它不起作用?
答案 0 :(得分:3)
在simplexml_load_file行
中将引号更改为双引号$q = $_GET['q'];
// Load and parse the XML document
$rss = simplexml_load_file("http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1");
如果字符串是双引号,PHP将自动解析变量 。
答案 1 :(得分:1)
您需要使用double quotes to have variables getting expanded:
变量解析
当用双引号或heredoc指定字符串时,会在其中解析变量。
所以:
"http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1"
但如果您使用urlencode
正确的网址转义,那就更好了:
'http://search.twitter.com/search.atom?lang=en&q='.urlencode($q).'&rpp=100&page=1'
您也可以在声明$q
变量时使用双引号字符串说明:
$q = urlencode($_GET['q']);
$rss = simplexml_load_file("http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1");
答案 2 :(得分:0)
使用双引号而不是单引号。