PHP DOM loadHTML() method unusual warning -
i had following code works fine on localhost:
$document = new domdocument(); $document->loadhtml($p_result); $form = $document->getelementsbytagname('form')->item(0); // code continues using $form variable
after same code updated on outside server, loadhtml()
failed , issued warning.
warning: domdocument::loadhtml() expects parameter 1 valid path, string given in path/name/to/script.php
returned null instead of object code pretty gets fatal error.
note contents of $p_result
absolutely same on outside server , on localhost.
but why displays kind of warning , why not work?
doesn't loadhtml()
expects argument 1 string in first place?
why method expects parameter 1 valid path
?
just make clear i'm not calling loadhtmlfile()
, i'm calling loadhtml()
.
thanks.
you're affected one of php bugs. issue present in php 5.6.8 , 5.6.9. have affected php version on server, , bug-free version on localhost.
the bug forbids null characters in html document you're loading, workaround may try remove (actually not needed) characters before further parsing.
$document = new domdocument(); $p_result_without_null_chars = str_replace("\0", '', $p_result) $document->loadhtml($p_result_without_null_chars);
Comments
Post a Comment