protected function processMultiLineComments($startIndex)
	{
		$this->getChar(); // current C
		$thirdCommentString = $this->getChar();

		// kill everything up to the next */ if it's there
		if ($this->getNext('*/'))
		{
			$this->getChar(); // get *
			$this->getChar(); // get /
			$char = $this->getChar(); // get next real character

			// Now we reinsert conditional comments and YUI-style licensing comments
			if (($this->options['flaggedComments'] && $thirdCommentString === '!')
				|| ($thirdCommentString === '@')
			)
			{

				// If conditional comments or flagged comments are not the first thing in the script
				// we need to echo a and fill it with a space before moving on.
				if ($startIndex > 0)
				{
					echo $this->a;
					$this->a = " ";

					// If the comment started on a new line we let it stay on the new line
					if ($this->input[($startIndex - 1)] === "\n")
					{
						echo "\n";
					}
				}

				$endPoint = ($this->index - 1) - $startIndex;
				echo substr($this->input, $startIndex, $endPoint);

				return $char;
			}

		}
		else
		{
			$char = false;
		}

		if ($char === false)
		{
			throw new \RuntimeException('Unclosed multiline comment at position: ' . ($this->index - 2));
		}

		// if we're here c is part of the comment and therefore tossed
		if (isset($this->c))
		{
			unset($this->c);
		}

		return $char;
	}
protected function processMultiLineComments($startIndex)
	{
		$this->getChar(); // current C
		$thirdCommentString = $this->getChar();

		// kill everything up to the next */ if it's there
		if ($this->getNext('*/'))
		{
			$this->getChar(); // get *
			$this->getChar(); // get /
			$char = $this->getChar(); // get next real character

			// Now we reinsert conditional comments and YUI-style licensing comments
			if (($this->options['flaggedComments'] && $thirdCommentString === '!')
				|| ($thirdCommentString === '@')
			)
			{

				// If conditional comments or flagged comments are not the first thing in the script
				// we need to echo a and fill it with a space before moving on.
				if ($startIndex > 0)
				{
					echo $this->a;
					$this->a = " ";

					// If the comment started on a new line we let it stay on the new line
					if ($this->input[($startIndex - 1)] === "\n")
					{
						echo "\n";
					}
				}

				$endPoint = ($this->index - 1) - $startIndex;
				echo substr($this->input, $startIndex, $endPoint);

				return $char;
			}

		}
		else
		{
			$char = false;
		}

		if ($char === false)
		{
			throw new \RuntimeException('Unclosed multiline comment at position: ' . ($this->index - 2));
		}

		// if we're here c is part of the comment and therefore tossed
		if (isset($this->c))
		{
			unset($this->c);
		}

		return $char;
	}
protected function processMultiLineComments ( $ startIndex ) { $ this -> getChar ( ) ; // current C $ thirdCommentString = $ this -> getChar ( ) ; // kill everything up to the next */ if it's there if ( $ this -> getNext ( '*/' ) ) { $ this -> getChar ( ) ; // get * $ this -> getChar ( ) ; // get / $ char = $ this -> getChar ( ) ; // get next real character // Now we reinsert conditional comments and YUI-style licensing comments if ( ( $ this -> options [ 'flaggedComments' ] && $ thirdCommentString === '!' ) || ( $ thirdCommentString === '@' ) ) { // If conditional comments or flagged comments are not the first thing in the script // we need to echo a and fill it with a space before moving on. if ( $ startIndex > 0 ) { echo $ this -> a ; $ this -> a = " " ; // If the comment started on a new line we let it stay on the new line if ( $ this -> input [ ( $ startIndex - 1 ) ] === "\n" ) { echo "\n" ; } } $ endPoint = ( $ this -> index - 1 ) - $ startIndex ; echo substr ( $ this -> input , $ startIndex , $ endPoint ) ; return $ char ; } } else { $ char = false ; } if ( $ char === false ) { throw new \ RuntimeException ( 'Unclosed multiline comment at position: ' . ( $ this -> index - 2 ) ) ; } // if we're here c is part of the comment and therefore tossed if ( isset ( $ this -> c ) ) { unset ( $ this -> c ) ; } return $ char ; }
Skips multiline comments where appropriate, and includes them where needed.
Conditional comments and "license" style blocks are preserved.

@param  int $startIndex The index point where "getReal" function started

@return bool|string       False if there's no character
@throws \RuntimeException Unclosed comments will throw an error
Skips multiline comments where appropriate and includes them where needed . Conditional comments and license style blocks are preserved .