Zend - The PHP Company




HTML

Add Code


tagtrack.php  

Type: class
Added by: xath
Entered: 24/11/2000
Last modified: 01/12/2000
Rating: - (fewer than 3 votes)
Views: 4652
my HTML parser class uses this class to check the validity of nested tags. Parser.php needs this class to work.


<?

$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





Search



This Category All Categories