3

simplexml_load_file($url) を使用しようとしています

$url = "http://www.example.com/dir/file.php?id=test&output=xml";

残念ながら、simplexml_load_file() はすべてのアンパサンドを自動的にエスケープし、"& amp;" に置き換えます。これにより、何らかの奇妙な理由で "& amp;" を処理できないため、file.php が壊れます。ただし、通常のアンパサンドのみ。

URL をエスケープせずにファイルをロードして、"& amp;" の代わりに通常の & を使用することはできますか?

ありがとう!

4

3 に答える 3

1

正しい方法は次のとおりです。

$xml = simple_xml_load_file(file_get_contents("http://www.example.com/dir/file.php?id=test&output=xml"));

編集:

私は次のコードを試しました:

$xml = new SimpleXMLElement(file_get_contents('http://www.example.com/dir/file.php?id=test&output=xml'));

テストはXMLAPIに対して行われました。スニファでリクエストを確認しました。リクエストには、htmlの特殊文字やその他のエンコーディングは含まれていません。

于 2012-04-10T19:25:53.020 に答える
0

または、データを配列に格納する場合はfile()-function 。

于 2012-04-10T19:17:27.403 に答える
0

これが機能することがわかりました:

$xml = simplexml_load_string( file_get_contents( 'http://my.url.com' ) );
于 2013-01-23T21:21:05.720 に答える