Перестает работать Twitter API simplexml_load_string - PullRequest
0 голосов
/ 11 мая 2011

Этим утром мой PHP-скрипт для публикации OAuth в Твиттере перестал работать.Я подозреваю, что Twitter добавил несколько строк для возвращаемой строки.Может кто-нибудь помочь, как отладить это.

Спасибо

Warning:  simplexml_load_string() [function.simplexml-load-string]: Entity: line 74: 
parser error : Entity 'copy' not defined in /nfs/c05/h01/mnt/82363/domains/html/c/cron.m.php on line 429

Warning:  simplexml_load_string() [function.simplexml-load-string]:           
<li class="first">&copy; 2011 Twitter</li> in /nfs/c05/h01/mnt/82363/domains/html/c/cron.m.php on line 429

Warning:  simplexml_load_string() [function.simplexml-load-string]: ^ in /nfs/c05/h01/mnt/82363/domains/html/c/cron.m.php on line 429

Ответы [ 3 ]

1 голос
/ 11 мая 2011

XML содержит HTML-сущности. &copy; недопустимо в XML. В качестве обходного пути вы можете предварительно отфильтровать документ перед его передачей в SimpleXML:

$xml = file_get_contents(...);
$xml = strtr($xml, array_flip(array_diff(
           get_html_translation_table(HTML_ENTITIES),
           get_html_translation_table(HTML_SPECIALCHARS)
       )));

$xml = simplexml_load_string($xml);
1 голос
/ 28 января 2014

Этот код работает для строковых XML-данных UTF-8.

$ xml = mb_strtr ($ xml, array_flip (array_diff (get_html_translation_table (HTML_ENTITIES), get_html_translation_table (HTML_SPECIALCHARS))));* $ xml = simplexml_load_string ($ xml);

0 голосов
/ 11 мая 2011

выводит строку и ищет новые изменения, внесенные в XML-файл,

Возможно, они добавили пространство имен.

...