X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=library%2FHTML5%2FTreeBuilder.php;h=cdea5373f3363f601ce3e19afc2fdf3f31fae9e0;hb=7e6598f2c01dc25b9420309dac1ec84160f21a03;hp=26cd410bf32c29d209073f15688eaf2f99667f02;hpb=f9a9b7012397ec4c4a18f49352d919266816dbd7;p=friendica.git diff --git a/library/HTML5/TreeBuilder.php b/library/HTML5/TreeBuilder.php index 26cd410bf3..cdea5373f3 100644 --- a/library/HTML5/TreeBuilder.php +++ b/library/HTML5/TreeBuilder.php @@ -158,6 +158,8 @@ class HTML5_TreeBuilder { if ($this->ignore_lf_token) $this->ignore_lf_token--; $this->ignored = false; + + $token['name'] = str_replace(':', '-', $token['name']); // indenting is a little wonky, this can be changed later on switch ($mode) { @@ -1429,7 +1431,7 @@ class HTML5_TreeBuilder { case 'tbody': case 'td': case 'tfoot': case 'th': case 'thead': case 'tr': // parse error break; - + /* A start tag token not covered by the previous entries */ default: /* Reconstruct the active formatting elements, if any. */ @@ -3037,21 +3039,11 @@ class HTML5_TreeBuilder { } private function insertElement($token, $append = true) { - $sep_pos = strpos($token['name'],':'); - $ns_uri = self::NS_HTML; - if($sep_pos !== FALSE) { - // This tag has a namespace - $ns = substr($token['name'], 0, $sep_pos); - switch($ns) { - case 'g': - $ns_uri = 'http://base.google.com/ns/1.0'; - break; - default: - logger("HTML5/TreeBuilder.php: Unknown namespace '". $ns ."', tag = ". $token['name'], LOGGER_DEBUG); - break; - } - } - $el = $this->dom->createElementNS($ns_uri, $token['name']); + $el = $this->dom->createElementNS(self::NS_HTML, $token['name']); + if ($el == false) { + logger('insertElement(): ignoring invalid token='.$token['name']); + return false; + } if (!empty($token['attr'])) { foreach($token['attr'] as $attr) {