/ / Як перетворити HTML <TAGS> в <теги> в PHP? - php, html

Як перетворити HTML <TAGS> в <tags> у PHP? - php, html

Я маю багато імпортувати HTML-дані, які використовують великі імена та атрибути. На жаль, система прийому цього не дозволяє, наполягаючи на тому, що всі вони є нижчими.

Як я можу безпечно змінити всі теги та назви атрибутів?

Я б перейшов до регулярного виразу preg_replace_callback, але я знаю, що може закінчитися дуже складно, якщо мова йде про розбір HTML - свого роду винахід колеса.

Чи існує DOMDocument чи інше безпечніше рішення?

Відповіді:

1 для відповіді № 1

Як запропонував @niet, ви можете спробувати використовувати DOMDocument потім збережіть його та спробуйте вивести його.

Розглянемо цей приклад:

<?php

$html_with_uppercase_tags = "<BODY><DIV class="container"><H1>Headers</H1><P>This is paragraph one</P></DIV></BODY>";
$dom = new DOMDocument();
$dom->loadHTML($html_with_uppercase_tags);

echo htmlentities($dom->saveHTML()); // check the tags
// http://www.php.net/manual/en/domdocument.savehtml.php

?>

Потрібно отримати щось на кшталт:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><div class="container"><h1>Headers</h1><p>This is paragraph one</p></div></body></html>