我无法理解为什么变量在这里不起作用。这是代码:
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
答案 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");