Закрыть все теги

четверг, 26 ноября 2009 г. на 09:17

Иногда бывает такое что один или более тегов не закрыты в нужном месте отому лутше использовать универсальную функцию.

function close_dangling_tags($html){
  #put all opened tags into an array
  preg_match_all("#<([a-z]+)( .*)?(?!/)>#iU",$html,$result);
  $openedtags=$result[1];
 
  #put all closed tags into an array
  preg_match_all("##iU",$html,$result);
  $closedtags=$result[1];
  $len_opened = count($openedtags);
  # all tags are closed
  if(count($closedtags) == $len_opened){
  return $html;
  }
 
  $openedtags = array_reverse($openedtags);
  # close tags
  for($i=0;$i < $len_opened;$i++) {   if (!in_array($openedtags[$i],$closedtags)){   $html .= '';   } else {   unset($closedtags[array_search($openedtags[$i],$closedtags)]);   }   }   return $html; }

0 коммент.

Отправить комментарий

BLACK-SEO-SOFT | Powered by Blogger | Entries (RSS) | Comments (RSS) | Designed by MB Web Design | XML Coded By Cahayabiru.com