-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、Web アドレスに適用した変数が見つかりますが、この変数はそのデータを抽出できません。新しいPHPプログラマーは、それを機能させるために今何をすべきか理解できません..ここで私はHTML DOM PARSERを使用しました..ありがとう

4

3 に答える 3

1

一重引用符内の文字列はリテラルであるため、$urlall単なる文字列であり、実際の変数値に置き換えられません。あなたがしたいことは、二重引用符を使用することです:

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

詳細については、 PHP Stringsを参照してください。

注: 二重引用符やヒアドキュメントの構文とは異なり、特殊文字の変数とエスケープ シーケンスは、単一引用符で囲まれた文字列内にある場合は展開されません。

于 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'

2 番目のバリアントがより好ましいです。

これがお役に立てば幸いです

于 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 に答える