1
我找不出以下問題。我想在基於SYSTEM的DTD中解析外部實體: 我在最新的Ubuntu 12.10上運行..沒有自定義更改!帶有SYSTEM的DTD中的外部實體在PHP中未得到解決
我有以下PHP測試代碼:
<h1>simpleXml Demo</h1>
<form name="input" action="" method="POST">
<textarea name="xmlInput"></textarea><br />
<input type="submit" value="Submit">
</form>
<?php
if(isset($_POST['xmlInput']) and strlen($_POST['xmlInput'])>0){
$doc = simplexml_load_string($_POST['xmlInput']);
echo "<pre>";
print_r($doc);
echo "</pre>";
?>
實施例1: 當運行此XML文件,所述實體&foo;得到解決。
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE results [
<!ENTITY test "some text,">
]>
<results>
<result>This result is &test;</result>
</results>
例2: 當運行這個XML文件,實體&foo;僅通過更換什麼 - 都沒有錯誤!
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE result [
<!ENTITY test SYSTEM "http://textfiles.com/food/btaco.txt">
]>
<results>
<result>This result is &test;</result>
</results>
我已經玩過'libxml_disable_entity_loader()',它沒有改變任何東西!
可以確認這與我的設置一起工作。我遇到了和OP一樣的問題。感謝您的想法! –