Modul für HTML-Validierung gesucht
Chris
- php
Hallo Leute,
ich weiß nicht richtig, wie ich suchen soll.
Bisher habe ich nur Schrott-Links gefunden.
Ich suche jedenfalls ein Modul, eine Klasse oder wie man das sonst so nennt, mit dessen Hilfe ich ein HTML-Dokument auf richtige Syntax usw. überprüfen kann. Also so eine Art Mini-Validator.
Es muss eben nur festgestellt werden, ob es die verwendeten Tags gibt und ob ihre Schachtelung erlaubt ist und natürlich, ob auch alle Abschlusstags vorhanden sind.
Dabei kommt es nicht darauf an, ob das Dokument vollständig ist, da hier Usereingaben geprüft werden sollen, die dann als Module in einen Kontext eingesetzt werden sollen.
Verbotene Tags sollte man auch rausschmeißen können.
Ich hoffe, Ihr könnt mir helfen
LG
Der Chris
Hallo Chris,
Du kannst, falls Deine PHP-Version das erlaubt, die tidy-Funktionen benutzen. Evtl. geht das auch mit tidy ueber escapeshellarg() oder escapeshellcmd().
Gruß,
Dieter
Hallo Chris.
Ich suche jedenfalls ein Modul, eine Klasse oder wie man das sonst so nennt, mit dessen Hilfe ich ein HTML-Dokument auf richtige Syntax usw. überprüfen kann. Also so eine Art Mini-Validator.
Das geht über die DOM-Funktionen:
$str_doc = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Hello World</h1>
</body>
</html>';
$obj_doc = new [link:http://de.php.net/manual/de/functio@title=DOMDocument]();
$obj_doc->[link:http://de.php.net/manual/de/function.dom-domdocument-loadhtml.php@title=loadHTML]($str_doc);
$obj_doc->[link:http://de.php.net/manual/de/ref.dom.php#dom.class.domdocument.properties@title=standalone] = false;
if ($obj_doc->[link:http://de.php.net/manual/de/function.dom-domdocument-validate.php@title=validate]()) {
echo "Gültiges Dokument";
}
Verbotene Tags sollte man auch rausschmeißen können.
Das ginge über removeChild.
Einen schönen Samstag noch.
Gruß, Mathias