58 lines
1.6 KiB
PHP
58 lines
1.6 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Abstract base token class that all others inherit from.
|
||
|
*/
|
||
|
class HTMLPurifier_Token {
|
||
|
public $line; /**< Line number node was on in source document. Null if unknown. */
|
||
|
public $col; /**< Column of line node was on in source document. Null if unknown. */
|
||
|
|
||
|
/**
|
||
|
* Lookup array of processing that this token is exempt from.
|
||
|
* Currently, valid values are "ValidateAttributes" and
|
||
|
* "MakeWellFormed_TagClosedError"
|
||
|
*/
|
||
|
public $armor = array();
|
||
|
|
||
|
/**
|
||
|
* Used during MakeWellFormed.
|
||
|
*/
|
||
|
public $skip;
|
||
|
public $rewind;
|
||
|
public $carryover;
|
||
|
|
||
|
public function __get($n) {
|
||
|
if ($n === 'type') {
|
||
|
trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE);
|
||
|
switch (get_class($this)) {
|
||
|
case 'HTMLPurifier_Token_Start': return 'start';
|
||
|
case 'HTMLPurifier_Token_Empty': return 'empty';
|
||
|
case 'HTMLPurifier_Token_End': return 'end';
|
||
|
case 'HTMLPurifier_Token_Text': return 'text';
|
||
|
case 'HTMLPurifier_Token_Comment': return 'comment';
|
||
|
default: return null;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets the position of the token in the source document.
|
||
|
*/
|
||
|
public function position($l = null, $c = null) {
|
||
|
$this->line = $l;
|
||
|
$this->col = $c;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Convenience function for DirectLex settings line/col position.
|
||
|
*/
|
||
|
public function rawPosition($l, $c) {
|
||
|
if ($c === -1) $l++;
|
||
|
$this->line = $l;
|
||
|
$this->col = $c;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
// vim: et sw=4 sts=4
|