Christian_: Fehlerhafte (nicht abgeschlossene) HTML Tags entfernen

Beitrag lesen

Hallo,

danke Edgar, ich habe mal etwas versucht. Leider funktioniert es noch nicht ganz. Was mache ich falsch?

  
function checktags($string, $index = 0) {  
  
	$opentagpos   = strpos($string,'<', $index);  
	$index		  = $opentagpos + 1;  
	  
	$closetag1pos = strpos($string,'</',$index);  
	$closetag2pos = strpos($string,'>',$closetag1pos);  
	  
	if($closetag1pos !== false and $closetag2pos !== false) {  
		$inneropentag = strpos($string, '<', $index);  
		if(($inneropentag < $closetag1pos)) {  
			$array = checktags($string, $inneropentag);  
			$closetag1pos = strpos($array[0],'</',$array[1]);  
			$closetag2pos = strpos($array[0],'>',$closetag1pos);  
			$inneropentag = strpos($array[0], '<', $array[1]);  
			if($closetag1pos === false and $closetag2pos === false)  
				return array(substr($array[0],$opentagpos-1),$opentagpos-1);  
			elseif($inneropentag === false)  
				return array($array[0]);  
			else  
				checktags($array[0],$inneropentag);  
		} else {  
			return array($string, $closetag2pos);  
		}  
	} else  
		return array(substr($string,$opentagpos-1),$opentagpos-1);  
}  
  
$string = '<a><b></b></a>';  
  
$array = checktags($string);  
echo $array[0];