Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [funkcja] usuwanie tagów HTML wraz z ich zawartością
Forum PHP.pl > Forum > Gotowe rozwiązania > Algorytmy, klasy, funkcje
MariuszT
Funkcja służy do usuwania (wszystkich bądź wybranych) tagów HTML razem z tym co znajduje się między nimi.

Funkcja:

  1. <?php
  2. function strip_tags_content($text, $tags = '', $invert = FALSE) {
  3.  
  4.  preg_match_all('/<(.+?)[s]*/?[s]*>/si', trim($tags), $tags);
  5.  $tags = array_unique($tags[1]);
  6.  
  7.  if(is_array($tags) AND count($tags)> 0) {
  8.    if($invert == FALSE) {
  9.      return preg_replace('@<(?!(?:'. implode('|', $tags) .')b)(w+)b.*?>.*?</1>@si', '', $text);
  10.    }
  11.    else {
  12.      return preg_replace('@<('. implode('|', $tags) .')b.*?>.*?</1>@si', '', $text);
  13.    }
  14.  }
  15.  elseif($invert == FALSE) {
  16.    return preg_replace('@<(w+)b.*?>.*?</1>@si', '', $text);
  17.  }
  18.  return $text;
  19. }



Przykłady:

Tekst na którym będziemy pracować:
  1. przykładowy tekst
  2. <script type="text/javascript">
  3. jakiś skrypt JavaScript
  4. tekst abc
  5. <br /><br />
  6. <b>pogrubiony tekst</b>
  7. bla bla <span>lala</span> ble ble
  8. i jeszcze jedna linijka
  9. <div>kolejny tekst</div>


Efekt strip_tags():
  1. przykładowy tekst
  2.  
  3. jakiś skrypt JavaScript
  4.  
  5. tekst abc
  6.  
  7. pogrubiony tekst
  8. bla bla lala ble ble
  9. i jeszcze jedna linijka
  10. kolejny tekst


Wywołanie strip_tags_content() bez parametrów (usuwa wszystkie tagi wraz z ich zawartością):
  1. przykładowy tekst
  2.  
  3. tekst abc
  4. <br /><br />
  5.  
  6. bla bla ble ble
  7. i jeszcze jedna linijka


Wywołanie strip_tags_content() z drugim parametrem o wartości '<script><span>' (ma usunąć wszystkie tagi oprócz <script> i <span>):
  1. przykładowy tekst
  2. <script type="text/javascript">
  3. jakiś skrypt JavaScript
  4. tekst abc
  5. <br /><br />
  6.  
  7. bla bla <span>lala</span> ble ble
  8. i jeszcze jedna linijka


Wywołanie strip_tags_content() z drugim parametrem o wartości '<span><b>' i trzecim parametrem ustawionym na TRUE (ma usunąć tylko tagi <span> i <b>):
  1. przykładowy tekst
  2. <script type="text/javascript">
  3. jakiś skrypt JavaScript
  4. tekst abc
  5. <br /><br />
  6.  
  7. bla bla ble ble
  8. i jeszcze jedna linijka
  9. <div>kolejny tekst</div>


Funkcja przydaje się gdy musimy usunąć ze zmiennej takie tagi jak <script>, <style> i tym podobne smile.gif

Strona domowa funkcji: http://www.tarnaski.eu/blog/rozszerzone-strip_tags/
erix
strip_tags - masz w komentarzach do funkcji gotowe i prostsze rozwiązania. tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.