Strona główna Zamykanie otwartych tagów HTML
Wpis
Anuluj

Zamykanie otwartych tagów HTML

Zamykanie otwartych tagów HTML

Malutka funkcja, która się przydaje, np.: przy skracaniu tekstu artykułu, newsa, itp., gdzie mogą wystąpić niezamknięte tagi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function close_tags($html){
  #umieszcza wszystkie otwarte tagi w tablicy
  preg_match_all("#<([a-z]+)( .*)?(?!/)>#iU",$html,$result);
  $openedtags=$result[1];

  #umieszcza wszystkie zamknięte tagi w tablicy
  preg_match_all("#</([a-z]+)>#iU",$html,$result);
  $closedtags=$result[1];
  $len_opened = count($openedtags);
  # wszystkie tagi są zamknięte
  if(count($closedtags) == $len_opened){
    return $html;
  }

  $openedtags = array_reverse($openedtags);
  # zamykanie tagów
  for($i=0;$i < $len_opened;$i++) {
    if (!in_array($openedtags[$i],$closedtags)){
      $html .= '</'.$openedtags[$i].'>';
    } else {
      unset($closedtags[array_search($openedtags[$i],$closedtags)]);
    }
  }
  return $html;
}
Ten post jest udostępniony na licencji CC BY 4.0 przez autora.

XML to array and back…

Skrypt do ściągania z Rapidshare.com (Premium)