summaryrefslogtreecommitdiff
path: root/it_html.class
diff options
context:
space:
mode:
Diffstat (limited to 'it_html.class')
-rw-r--r--it_html.class10
1 files changed, 4 insertions, 6 deletions
diff --git a/it_html.class b/it_html.class
index 7437aed..03a46ea 100644
--- a/it_html.class
+++ b/it_html.class
@@ -317,13 +317,11 @@ function _tag($name, $args)
$result .= ($this->p['htmltype'][0] != 'x') ? " $key" : " $key=\"$key\"";
}
- # Apply a kind of magic... this needs further investigation
- if (isset($data) || isset($this->alwaysclose[$name]))
- $result .= ">$data</$name>$newline";
- elseif ($this->p['htmltype'][0] != 'x')
- $result .= ">$newline";
+ # close tag according to html dialect
+ if ($this->p['htmltype'][0] == 'x') # xhtml
+ $result .= isset($data) || isset($this->alwaysclose[$name]) ? ">$data</$name>$newline" : " />$newline";
else
- $result .= " />$newline";
+ $result .= isset($data) || !self::$voidtags[$name] ? ">$data</$name>$newline" : ">$newline";
if ($GLOBALS['debug_utf8check'] && $charset == "utf-8")
$result = it::any2utf8($result, "error in $name()");