Blame view

vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php 1.68 KB
abf1649b   andryeyev   Чистая установка ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  <?php
  
  /**
   * Concrete element node class.
   */
  class HTMLPurifier_Node_Element extends HTMLPurifier_Node
  {
      /**
       * The lower-case name of the tag, like 'a', 'b' or 'blockquote'.
       *
       * @note Strictly speaking, XML tags are case sensitive, so we shouldn't
       * be lower-casing them, but these tokens cater to HTML tags, which are
       * insensitive.
       * @type string
       */
      public $name;
  
      /**
       * Associative array of the node's attributes.
       * @type array
       */
      public $attr = array();
  
      /**
       * List of child elements.
       * @type array
       */
      public $children = array();
  
      /**
       * Does this use the <a></a> form or the </a> form, i.e.
       * is it a pair of start/end tokens or an empty token.
       * @bool
       */
      public $empty = false;
  
      public $endCol = null, $endLine = null, $endArmor = array();
  
      public function __construct($name, $attr = array(), $line = null, $col = null, $armor = array()) {
          $this->name = $name;
          $this->attr = $attr;
          $this->line = $line;
          $this->col = $col;
          $this->armor = $armor;
      }
  
      public function toTokenPair() {
          // XXX inefficiency here, normalization is not necessary
          if ($this->empty) {
              return array(new HTMLPurifier_Token_Empty($this->name, $this->attr, $this->line, $this->col, $this->armor), null);
          } else {
              $start = new HTMLPurifier_Token_Start($this->name, $this->attr, $this->line, $this->col, $this->armor);
              $end = new HTMLPurifier_Token_End($this->name, array(), $this->endLine, $this->endCol, $this->endArmor);
              //$end->start = $start;
              return array($start, $end);
          }
      }
  }