HTML
|
|
|
|
<?
$tag_stack = array();
class TagTrack
{
var $label;
var $top_level;
var $follower;
function TagTrack ($label, $top_level = 1, $followers = 0)
{
$this->label = $label;
$this->top_level = $top_level;
$this->followers = $followers;
}
function VerifyTag ($closing)
{
global $tag_stack;
$prev=end($tag_stack);
if ($closing)
{
if ($this->label = $prev->label)
{
array_pop ($tag_stack);
return ($this->label);
}
else return (0);
}
if ($prev && $pf = $prev->followers)
{
if (is_array ($pf) && !in_array ($this->label, $pf))
return (0);
elseif ($pf == "*" && !$this->top_level)
return (0);
}
if ($this->followers)
array_push ($tag_stack, $this);
return ($this->label);
}
}
?>
|
|
|
Usage Example
|
|
|
Rate This Script
|
|
|
|