Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie BBCODE
Forum PHP.pl > Forum > Przedszkole
nexis
Jak usunąć znaczniki BBCODE? Powiedzmy, że zmienna ma następującą wartość:

  1. <?php
  2. $post_text=&#092;"[quote=\"jakis_nick\"]tekst tekst tekst[/quote]to jest zwykly tekst poza BBCODEJakis link\";
  3. ?>


Jak wyciąć BBCODE, żeby zostało:

  1. <?php
  2. $post_text=&#092;"to jest zwykly tekst poza BBCODE\";
  3. ?>


questionmark.gif?
sf
preg_replace" title="Zobacz w manualu PHP" target="_manual

było wiele przykładów jak używac wyrażeń regularnych na forum, więc możesz je tu znaleźć i się poduczyć
nexis
A mógłbym prosić o jakiś gotowy skrypcik?
czachor
Mam coś podobnego do tego, czego szukasz... Napisałem sobie na potrzebę chwili (raczej nie do końca optymalne rozwiązanie, ale chodziło mi o to, żebym mógł ew. zostawiać niektóre znaczniki). Usuwa znaczniki BBCode, pozostawiając to, co jest między nimi, czyli z
Kod
[b]bold[/b] [url]urljakis[/url] bleble
zostanie:
Kod
bold urljakis bleble

  1. <?php
  2. function clear_bbcode($str)
  3. {
  4. //usuwanie 
  5. $str = str_replace(array('', '', '', '', '', ''), '', $str);
  6.  
  7. //usuwanie [/color]
  8. $str = preg_replace('/[color(.*?)](.*?)/i', '2', $str);
  9.  
  10. //usuwanie 
  11. $str = str_replace(array('', ''), '', $str);
  12.  
  13. //usuwanie [url*]
  14. $str = preg_replace('/[url+[=](.*?)(.*?)]/i', '2', $str);
  15.  
  16. //usuwanie 
  17. $str = preg_replace(&#092;"'[img*?].*?[/img]'si\", '', $str);
  18.  
  19. //usuwanie [img=*]
  20. $str = preg_replace(&#092;"'[img+[=].*?]'si\", '', $str);
  21.  
  22. return $str;
  23. }
  24. ?>

brakuje usuwania m. in. [quote], ale z tym poradzisz sobie.
nexis
Dzięki.

W międzyczasie znalazłem również coś:

  1. <?php
  2. $post_text = preg_replace('#[(.*)]#', '', $post_text);
  3. ?>


Działa dla wszystkich wyrażeń między znakiem "[", a znakiem "]".
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.