protected function consumeHtml($lines, $current)
	{
		$content = [];
		if (strncmp($lines[$current], '<!--', 4) === 0) { // html comment
			for ($i = $current, $count = count($lines); $i < $count; $i++) {
				$line = $lines[$i];
				$content[] = $line;
				if (strpos($line, '-->') !== false) {
					break;
				}
			}
		} else {
			$tag = rtrim(substr($lines[$current], 1, min(strpos($lines[$current], '>'), strpos($lines[$current] . ' ', ' ')) - 1), '/');
			$level = 0;
			if (in_array($tag, $this->selfClosingHtmlElements)) {
				$level--;
			}
			for ($i = $current, $count = count($lines); $i < $count; $i++) {
				$line = $lines[$i];
				$content[] = $line;
				$level += substr_count($line, "<$tag") - substr_count($line, "</$tag>") - substr_count($line, "/>");
				if ($level <= 0) {
					break;
				}
			}
		}
		$block = [
			'html',
			'content' => implode("\n", $content),
		];
		return [$block, $i];
	}
protected function consumeHtml($lines, $current)
	{
		$content = [];
		if (strncmp($lines[$current], '<!--', 4) === 0) { // html comment
			for ($i = $current, $count = count($lines); $i < $count; $i++) {
				$line = $lines[$i];
				$content[] = $line;
				if (strpos($line, '-->') !== false) {
					break;
				}
			}
		} else {
			$tag = rtrim(substr($lines[$current], 1, min(strpos($lines[$current], '>'), strpos($lines[$current] . ' ', ' ')) - 1), '/');
			$level = 0;
			if (in_array($tag, $this->selfClosingHtmlElements)) {
				$level--;
			}
			for ($i = $current, $count = count($lines); $i < $count; $i++) {
				$line = $lines[$i];
				$content[] = $line;
				$level += substr_count($line, "<$tag") - substr_count($line, "</$tag>") - substr_count($line, "/>");
				if ($level <= 0) {
					break;
				}
			}
		}
		$block = [
			'html',
			'content' => implode("\n", $content),
		];
		return [$block, $i];
	}
protected function consumeHtml ( $ lines , $ current ) { $ content = [ ] ; if ( strncmp ( $ lines [ $ current ] , '<!--' , 4 ) === 0 ) { // html comment for ( $ i = $ current , $ count = count ( $ lines ) ; $ i < $ count ; $ i ++ ) { $ line = $ lines [ $ i ] ; $ content [ ] = $ line ; if ( strpos ( $ line , '-->' ) !== false ) { break ; } } } else { $ tag = rtrim ( substr ( $ lines [ $ current ] , 1 , min ( strpos ( $ lines [ $ current ] , '>' ) , strpos ( $ lines [ $ current ] . ' ' , ' ' ) ) - 1 ) , '/' ) ; $ level = 0 ; if ( in_array ( $ tag , $ this -> selfClosingHtmlElements ) ) { $ level -- ; } for ( $ i = $ current , $ count = count ( $ lines ) ; $ i < $ count ; $ i ++ ) { $ line = $ lines [ $ i ] ; $ content [ ] = $ line ; $ level += substr_count ( $ line , "<$tag" ) - substr_count ( $ line , "</$tag>" ) - substr_count ( $ line , "/>" ) ; if ( $ level <= 0 ) { break ; } } } $ block = [ 'html' , 'content' => implode ( "\n" , $ content ) , ] ; return [ $ block , $ i ] ; }
Consume lines for an HTML block
Consume lines for an HTML block