Exemplo n.º 1
0
 public function testIsHtml5Element()
 {
     foreach ($this->html5Elements as $element) {
         $this->assertTrue(Elements::isHtml5Element($element), 'html5 element test failed on: ' . $element);
         $this->assertTrue(Elements::isHtml5Element(strtoupper($element)), 'html5 element test failed on: ' . strtoupper($element));
     }
     $nonhtml5 = array('foo', 'bar', 'baz');
     foreach ($nonhtml5 as $element) {
         $this->assertFalse(Elements::isHtml5Element($element), 'html5 element test failed on: ' . $element);
         $this->assertFalse(Elements::isHtml5Element(strtoupper($element)), 'html5 element test failed on: ' . strtoupper($element));
     }
 }
Exemplo n.º 2
0
 /**
  * Read text in RCDATA mode.
  */
 protected function rcdata()
 {
     if (is_null($this->untilTag)) {
         return $this->text();
     }
     $sequence = '</' . $this->untilTag;
     $txt = '';
     $tok = $this->scanner->current();
     $caseSensitive = !Elements::isHtml5Element($this->untilTag);
     while ($tok !== false && !($tok == '<' && $this->sequenceMatches($sequence, $caseSensitive))) {
         if ($tok == '&') {
             $txt .= $this->decodeCharacterReference();
             $tok = $this->scanner->current();
         } else {
             $txt .= $tok;
             $tok = $this->scanner->next();
         }
     }
     $len = strlen($sequence);
     $this->scanner->consume($len);
     $len += strlen($this->scanner->whitespace());
     if ($this->scanner->current() !== '>') {
         $this->parseError("Unclosed RCDATA end tag");
     }
     $this->scanner->unconsume($len);
     $this->events->text($txt);
     $this->setTextMode(0);
     return $this->endTag();
 }