-1

我不明白为什么变量在这里不起作用。这是代码:

include_once('../simple_html_dom.php');
$url = htmlentities($_GET['q']);
$urlall = str_replace(" ", "+", $url);
$html = file_get_html('http://www.example.com/some?key=$urlall&hl=en');
echo $html->plaintext;

如果您查看此代码,您会发现$urlall我已在网址中应用的变量,但此变量无法提取其数据。作为一个新的 PHP 程序员无法理解现在该怎么做才能使它工作.. 在这里我使用了 HTML DOM PARSER..谢谢

4

3 回答 3

1

单引号内的字符串是文字,所以$urlall只是一个字符串,它不会被实际变量值替换。你想要做的是使用双引号:

$html = file_get_html("http://www.example.com/some?key=$urlall&hl=en");

有关进一步的解释,请参阅PHP 字符串

注意:与双引号和heredoc 语法不同,特殊字符的变量和转义序列在出现在单引号字符串中时不会被扩展。

于 2012-09-22T08:48:18.090 回答
0

尝试用双引号替换单引号:

"http://www.example.com/some?key=$urlall&hl=en"

或使用字符串连接而不是直接将变量输入到字符串中:

'http://www.example.com/some?key='.$urlall.'&hl=en'

第二种变体更优选。

我希望这可以帮助你

于 2012-09-22T08:48:20.490 回答
0

PHP 变量不会被解析并用单引号替换。

尝试

$html = file_get_html("http://www.example.com/some?key=$urlall&hl=en");
于 2012-09-22T08:51:28.123 回答