在$ html = file_get_html()中使用变量;

时间:2012-09-22 08:46:19

标签: php parsing variables html-parsing

我无法理解为什么变量在这里不起作用。这是代码:

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..Thanks

3 个答案:

答案 0 :(得分:1)

单引号内的字符串是字面值,因此$urlall只是一个字符串,它不会被替换为变量值。你想要做的是使用双引号:

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

有关进一步说明,请参阅PHP Strings

  

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

答案 1 :(得分:0)

尝试用double替换单引号:

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

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

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

更优选第二种变体。

我希望这有助于你

答案 2 :(得分:0)

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

尝试

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