protected function processTags()
	{
		if (empty($this->tagStack))
		{
			return;
		}

		// Initialize the count tables
		foreach (array_keys($this->tagsConfig) as $tagName)
		{
			$this->cntOpen[$tagName]  = 0;
			$this->cntTotal[$tagName] = 0;
		}

		// Process the tag stack, close tags that were left open and repeat until done
		do
		{
			while (!empty($this->tagStack))
			{
				if (!$this->tagStackIsSorted)
				{
					$this->sortTags();
				}

				$this->currentTag = array_pop($this->tagStack);
				$this->processCurrentTag();
			}

			// Close tags that were left open
			foreach ($this->openTags as $startTag)
			{
				// NOTE: we add tags in hierarchical order (ancestors to descendants) but since
				//       the stack is processed in LIFO order, it means that tags get closed in
				//       the correct order, from descendants to ancestors
				$this->addMagicEndTag($startTag, $this->textLen);
			}
		}
		while (!empty($this->tagStack));
	}
protected function processTags()
	{
		if (empty($this->tagStack))
		{
			return;
		}

		// Initialize the count tables
		foreach (array_keys($this->tagsConfig) as $tagName)
		{
			$this->cntOpen[$tagName]  = 0;
			$this->cntTotal[$tagName] = 0;
		}

		// Process the tag stack, close tags that were left open and repeat until done
		do
		{
			while (!empty($this->tagStack))
			{
				if (!$this->tagStackIsSorted)
				{
					$this->sortTags();
				}

				$this->currentTag = array_pop($this->tagStack);
				$this->processCurrentTag();
			}

			// Close tags that were left open
			foreach ($this->openTags as $startTag)
			{
				// NOTE: we add tags in hierarchical order (ancestors to descendants) but since
				//       the stack is processed in LIFO order, it means that tags get closed in
				//       the correct order, from descendants to ancestors
				$this->addMagicEndTag($startTag, $this->textLen);
			}
		}
		while (!empty($this->tagStack));
	}
protected function processTags ( ) { if ( empty ( $ this -> tagStack ) ) { return ; } // Initialize the count tables foreach ( array_keys ( $ this -> tagsConfig ) as $ tagName ) { $ this -> cntOpen [ $ tagName ] = 0 ; $ this -> cntTotal [ $ tagName ] = 0 ; } // Process the tag stack, close tags that were left open and repeat until done do { while ( ! empty ( $ this -> tagStack ) ) { if ( ! $ this -> tagStackIsSorted ) { $ this -> sortTags ( ) ; } $ this -> currentTag = array_pop ( $ this -> tagStack ) ; $ this -> processCurrentTag ( ) ; } // Close tags that were left open foreach ( $ this -> openTags as $ startTag ) { // NOTE: we add tags in hierarchical order (ancestors to descendants) but since //       the stack is processed in LIFO order, it means that tags get closed in //       the correct order, from descendants to ancestors $ this -> addMagicEndTag ( $ startTag , $ this -> textLen ) ; } } while ( ! empty ( $ this -> tagStack ) ) ; }
Process all tags in the stack

@return void
Process all tags in the stack