Я пытаюсь проанализировать некоторый html с помощью PHP, чтобы добавить некоторые узлы, но вывод DOMDocument->saveHTML не работает должным образом, потому что атрибуты href закодированы.
Это простой код для проверки неправильного вывода:
$html = "<a href='javascript:console.log(\"klk\");'>click here</a>";
$doc = new DOMDocument();
$doc->loadHTML( $html );
echo $html . "\n";
echo "-----------------\n";
echo $doc->saveHTML( $doc->getElementsByTagName('a')[0] ) . "\n";
И вот результат:
<a href='javascript:console.log("klk");'>click here</a>
-----------------
<a href="javascript:console.log(%22klk%22);">click here</a>
Как видите, что-то пошло не так с атрибутами href.
Любая идея о том, как я могу решить эту проблему?
URL для тестирования/воспроизведения: http://ideone.com/TsDhI3