|  | @@ 189-214 (lines=26) @@ | 
                                                            
                                    | 186 |  |  | 
                                                            
                                    | 187 |  | for($i=-1, $ci=count($t); ++$i<$ci;){ | 
                                                            
                                    | 188 |  |  // allowed $ok in parent $p | 
                                                            
                                    | 189 |  |  if($ql = count($q)){ | 
                                                            
                                    | 190 |  |   $p = array_pop($q); | 
                                                            
                                    | 191 |  |   $q[] = $p; | 
                                                            
                                    | 192 |  |   if(isset($cS[$p])){$ok = $cS[$p];} | 
                                                            
                                    | 193 |  |   elseif(isset($cI[$p])){$ok = $eI; $cI['del'] = 1; $cI['ins'] = 1;} | 
                                                            
                                    | 194 |  |   elseif(isset($cF[$p])){$ok = $eF; unset($cI['del'], $cI['ins']);} | 
                                                            
                                    | 195 |  |   elseif(isset($cB[$p])){$ok = $eB; unset($cI['del'], $cI['ins']);} | 
                                                            
                                    | 196 |  |   if(isset($cO[$p])){$ok = $ok + $cO[$p];} | 
                                                            
                                    | 197 |  |   if(isset($cN[$p])){$ok = array_diff_assoc($ok, $cN[$p]);} | 
                                                            
                                    | 198 |  |  }else{$ok = $inOk; unset($cI['del'], $cI['ins']);} | 
                                                            
                                    | 199 |  |  // bad tags, & ele content | 
                                                            
                                    | 200 |  |  if(isset($e) && ($do == 1 or (isset($ok['#pcdata']) && ($do == 3 or $do == 5)))){ | 
                                                            
                                    | 201 |  |   echo '<', $s, $e, $a, '>'; | 
                                                            
                                    | 202 |  |  } | 
                                                            
                                    | 203 |  |  if(isset($x[0])){ | 
                                                            
                                    | 204 |  |   if(strlen(trim($x)) && (($ql && isset($cB[$p])) or (isset($cB[$in]) && !$ql))){ | 
                                                            
                                    | 205 |  |    echo '<div>', $x, '</div>'; | 
                                                            
                                    | 206 |  |   } | 
                                                            
                                    | 207 |  |   elseif($do < 3 or isset($ok['#pcdata'])){echo $x;} | 
                                                            
                                    | 208 |  |   elseif(strpos($x, "\x02\x04")){ | 
                                                            
                                    | 209 |  |    foreach(preg_split('`(\x01\x02[^\x01\x02]+\x02\x01)`', $x, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $v){ | 
                                                            
                                    | 210 |  |     echo (substr($v, 0, 2) == "\x01\x02" ? $v : ($do > 4 ? preg_replace('`\S`', '', $v) : '')); | 
                                                            
                                    | 211 |  |    } | 
                                                            
                                    | 212 |  |   }elseif($do > 4){echo preg_replace('`\S`', '', $x);} | 
                                                            
                                    | 213 |  |  } | 
                                                            
                                    | 214 |  |  // get markup | 
                                                            
                                    | 215 |  |  if(!preg_match('`^(/?)([a-z1-6]+)([^>]*)>(.*)`sm', $t[$i], $r)){$x = $t[$i]; continue;} | 
                                                            
                                    | 216 |  |  $s = null; $e = null; $a = null; $x = null; list($all, $s, $e, $a, $x) = $r; | 
                                                            
                                    | 217 |  |  // close tag | 
                                                                                
                                |  | @@ 275-300 (lines=26) @@ | 
                                                            
                                    | 272 |  | } | 
                                                            
                                    | 273 |  |  | 
                                                            
                                    | 274 |  | // end | 
                                                            
                                    | 275 |  | if($ql = count($q)){ | 
                                                            
                                    | 276 |  |  $p = array_pop($q); | 
                                                            
                                    | 277 |  |  $q[] = $p; | 
                                                            
                                    | 278 |  |  if(isset($cS[$p])){$ok = $cS[$p];} | 
                                                            
                                    | 279 |  |  elseif(isset($cI[$p])){$ok = $eI; $cI['del'] = 1; $cI['ins'] = 1;} | 
                                                            
                                    | 280 |  |  elseif(isset($cF[$p])){$ok = $eF; unset($cI['del'], $cI['ins']);} | 
                                                            
                                    | 281 |  |  elseif(isset($cB[$p])){$ok = $eB; unset($cI['del'], $cI['ins']);} | 
                                                            
                                    | 282 |  |  if(isset($cO[$p])){$ok = $ok + $cO[$p];} | 
                                                            
                                    | 283 |  |  if(isset($cN[$p])){$ok = array_diff_assoc($ok, $cN[$p]);} | 
                                                            
                                    | 284 |  | }else{$ok = $inOk; unset($cI['del'], $cI['ins']);} | 
                                                            
                                    | 285 |  | if(isset($e) && ($do == 1 or (isset($ok['#pcdata']) && ($do == 3 or $do == 5)))){ | 
                                                            
                                    | 286 |  |  echo '<', $s, $e, $a, '>'; | 
                                                            
                                    | 287 |  | } | 
                                                            
                                    | 288 |  | if(isset($x[0])){ | 
                                                            
                                    | 289 |  |  if(strlen(trim($x)) && (($ql && isset($cB[$p])) or (isset($cB[$in]) && !$ql))){ | 
                                                            
                                    | 290 |  |   echo '<div>', $x, '</div>'; | 
                                                            
                                    | 291 |  |  } | 
                                                            
                                    | 292 |  |  elseif($do < 3 or isset($ok['#pcdata'])){echo $x;} | 
                                                            
                                    | 293 |  |  elseif(strpos($x, "\x02\x04")){ | 
                                                            
                                    | 294 |  |   foreach(preg_split('`(\x01\x02[^\x01\x02]+\x02\x01)`', $x, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $v){ | 
                                                            
                                    | 295 |  |    echo (substr($v, 0, 2) == "\x01\x02" ? $v : ($do > 4 ? preg_replace('`\S`', '', $v) : '')); | 
                                                            
                                    | 296 |  |   } | 
                                                            
                                    | 297 |  |  }elseif($do > 4){echo preg_replace('`\S`', '', $x);} | 
                                                            
                                    | 298 |  | } | 
                                                            
                                    | 299 |  | while(!empty($q) && ($e = array_pop($q))){echo '</', $e, '>';} | 
                                                            
                                    | 300 |  | $o = ob_get_contents(); | 
                                                            
                                    | 301 |  | ob_end_clean(); | 
                                                            
                                    | 302 |  | return $o; | 
                                                            
                                    | 303 |  | } |