Hi,
@dr.Colossos: also unter Verwendung deines code-Schnipsels sieht das Ganze jetzt bei mir wie folgt aus:
<?php
$pattern = '/(<(?:[^<>]+(?:"[^"]*"|'[^']*')?)+>)/';
$inhalt_ht = preg_replace('/(\s+)/', ' ', $dat_cont);
$html_arr1 = preg_split($pattern, trim($inhalt_ht), -1,
PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
$html_array = array();
$html_str ="";
$html_len = 0;
#Entfernung der Leerzeichen
foreach($html_arr1 as $htar) {
if($htar!=chr(32)) {
$html_array[] = $htar;
$html_str .= $htar;
$html_len++;
} }
$mono_tag = array('area', 'base', 'basefont', 'br', 'col', 'frame', 'hr', 'img', 'input', 'isindex', 'link', 'meta', 'param');
function struktur_array($start,$ende) {
global $mono_tag, $html_array, $html_str;
$struktur = array();
for($i=$start;$i<$ende;$i++) {
$hta = $html_array[$i];
if($hta{0}=="<") {
if($hta{1}=="!" || $hta{1}=="?") {
if($hta{2}=="-") {
$kom = "";
while(strpos($html_array[$i],"-->")===false) {
$kom .= $html_array[$i];
$i++;
}
$hta=$kom.$html_array[$i];
}
array_push($struktur,htmlentities($hta));
} else {
if(($pos=strpos($hta," "))===false)
$pos=strpos($hta,">");
$tag_name = substr($hta,1,$pos-1);
if(array_search($tag_name,$mono_tag)!==false) {
array_push($struktur,htmlentities($hta));
} else {
$tag_start=$i+1;
array_push($struktur,htmlentities($hta));
$count_tag=0;
$count_end=0;
for($j=$i+1;$j<$ende;$j++) {
if(strpos($html_array[$j],"<".$tag_name)!==false) {
if($count_tag==0)
$count_end=$j;
$count_tag++;
}
if(strpos($html_array[$j],"</".$tag_name)!==false && $count_tag==0) {
$i=$j;
break;
} elseif(strpos($html_array[$j],"</".$tag_name)!==false && $count_tag!=0)
$count_tag--;
}
if($count_tag!=0) {
if($count_end!=0)
$i=$count_end;
else
$i=$ende;
}
$tag_ende=$i;
if($tag_start!=$i)
$unter_tag=struktur_array($tag_start,$tag_ende);
if(count($unter_tag)!=0)
array_push($struktur,$unter_tag);
array_push($struktur,htmlentities($html_array[$i]));
}
}
} else {
array_push($struktur,htmlentities($html_array[$i]));
}
}
return $struktur;
}
$struktur = struktur_array(0,$html_len);
echo "<pre>";
print_r($struktur);
echo "</pre";
?>
bye trunx
Die Standard-Antwort: "Bitte benutze die Forum-Suche!" macht die Forum-Suche kaputt, weil die Suche dann nämlich genau vor allem diese Standard-Antwort, also Müll liefert. Sinnvoller ist stattdessen folgende Standard-Antwort: "Dieses Thema wurde schon vielfach im Forum besprochen, siehe z.B. <u>hier</u> oder <u>hier</u> oder benutze die Forum-Suche z.B. mit den Stichworten 'Stichwort1 Stichwort2' ."