コード例 #1
0
ファイル: Texy.php プロジェクト: chomenko/cemvin
 /**
  * Set HTML/XHTML output mode (overwrites self::$allowedTags)
  * @param  int
  * @return void
  */
 public function setOutputMode($mode)
 {
     if (!in_array($mode, [self::HTML4_TRANSITIONAL, self::HTML4_STRICT, self::HTML5, self::XHTML1_TRANSITIONAL, self::XHTML1_STRICT, self::XHTML5], TRUE)) {
         throw new \InvalidArgumentException('Invalid mode.');
     }
     if (!isset(self::$dtdCache[$mode])) {
         require __DIR__ . '/DTD.php';
         self::$dtdCache[$mode] = $dtd;
     }
     $this->mode = $mode;
     $this->dtd = self::$dtdCache[$mode];
     HtmlElement::$xhtml = (bool) ($mode & self::XML);
     // TODO: remove?
     // accept all valid HTML tags and attributes by default
     $this->allowedTags = [];
     foreach ($this->dtd as $tag => $dtd) {
         $this->allowedTags[$tag] = self::ALL;
     }
 }