Hello out there!
">" ist in HTML ein Sonderzeichen. Sonderzeichen müssen kodiert werden. Immer und überall.
<Loriot>Ach. Ach was.</Loriot> ;-)
„Autoren, die das »<«-Zeichen im Text einsetzen wollen, sollten »<« (ASCII dezimal 60) verwenden, um mögliche Verwechslungen mit dem Beginn eines Tags (öffnender Begrenzer des Start-Tags, start tag open delimiter) zu vermeiden. Analog sollten Autoren im Text »>« (ASCII dezimal 62) anstelle von »>« benutzen. Sie gehen damit Problemen aus dem Wege, die in älteren Benutzerprogrammen auftreten können. Dies kann dann passieren, wenn »>« innnerhalb von in Anführungszeichen stehenden Attributwerte auftaucht und ein Benutzerprogramm darin fälschlicherweise das Ende eines Tags (schließender Tag-Begrenzer) erkennt.“ [HTML401 §5.3.2]
Das ist valide:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>>foo</p>
</body>
</html>
Das auch:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>< foo</p>
</body>
</html>
Nur das nicht (element "FOO" undefined):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p><foo</p>
</body>
</html>
Allerdings: Sonderzeichen _sollten_ kodiert* werden. Immer und überall.
See ya up the road,
Gunnar
* Mit kodiert meintest du als Entity-Referenzen oder NCR geschrieben werden? Kodiert werden sie ja immer: wahlweise in UTF-8, ISO 8859-1, ... ;-)
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)