Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]funkcje
Forum PHP.pl > Forum > Przedszkole
eunix
Zrobiłem sobie o taką funkcje:
  1. <?php
  2. function bb_code ($tresc)
  3. {
  4.  $tresc = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $tresc);
  5.  $tresc = preg_replace("#\[i\](.*?)\[/i\]#si", "<i>\\1</i>", $tresc);
  6.  $tresc = preg_replace("#\[u\](.*?)\[/u\]#si", "<u>\\1</u>", $tresc);
  7.  $tresc = preg_replace("#\[p=(http://)?(.*?)\](.*?)\[/p\]#si", "<p align=\"\\2\">\\3</p>", $tresc);
  8.  $tresc = preg_replace("#\[color=(http://)?(.*?)\](.*?)\[/color\]#si", "<span style=\"color:\\2\">\\3</span>", $tresc);
  9.  $tresc = preg_replace("#\[size=(http://)?(.*?)\](.*?)\[/size\]#si", "<span style=\"font-size:\\2\">\\3</span>", $tresc);
  10.  $tresc = preg_replace("#\[img\](.*?)\[/img\]#si", "<img src=\"\\1\" border=\"0\" alt=\"Obrazek\" />", $tresc);
  11.  $tresc = preg_replace("#\[code\](.*?)\[/code]#si", "<pre class=\"kod\"><u><b>Kod:</b></u><br/>\\1</pre>", $tresc);
  12.  $tresc = preg_replace("#\[quote\](.*?)\[/quote]#si", "<p class=\"cytat\"><u><b>Cytat:</b></u><br/>\\1</p>", $tresc);
  13. return $tresc;
  14. }
  15. ?>


ale jak daje ją pózniej przy wysłaniu wiadomości bb_code($tresc); to nic się nie dzieje
np.
Jak w treści wiadomości napisze sadsadsa to nie zmienia tego na html tylko pozostaje tak jak napisałem co jest nie tak?
Jak daje to bez funkcji to działa!
Nightwalker
może spróbuj coś takiego:

  1. <?php
  2. function bb_code ($tresc)
  3. {
  4.  $rpl = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $tresc);
  5.  $rpl = preg_replace("#\[i\](.*?)\[/i\]#si", "<i>\\1</i>", $tresc);
  6.  $rpl = preg_replace("#\[u\](.*?)\[/u\]#si", "<u>\\1</u>", $tresc);
  7.  $rpl = preg_replace("#\[p=(http://)?(.*?)\](.*?)\[/p\]#si", "<p align=\"\\2\">\\3</p>", $tresc);
  8.  $rpl = preg_replace("#\[color=(http://)?(.*?)\](.*?)\[/color\]#si", "<span style=\"color:\\2\">\\3</span>", $tresc);
  9.  $rpl = preg_replace("#\[size=(http://)?(.*?)\](.*?)\[/size\]#si", "<span style=\"font-size:\\2\">\\3</span>", $tresc);
  10.  $rpl = preg_replace("#\[img\](.*?)\[/img\]#si", "<img src=\"\\1\" border=\"0\" alt=\"Obrazek\" />", $tresc);
  11.  $rpl = preg_replace("#\[code\](.*?)\[/code]#si", "<pre class=\"kod\"><u><b>Kod:</b></u><br/>\\1</pre>", $tresc);
  12.  $rpl = preg_replace("#\[quote\](.*?)\[/quote]#si", "<p class=\"cytat\"><u><b>Cytat:</b></u><br/>\\1</p>", $tresc);
  13. return $rpl;
  14. }
  15. ?>


lub zrob z tego array
siemakuba
@Nightwalk: twoja propozycja spowoduje faktycznie tylko podmiane zapisana w ostatnim preg_replace wewnatrz funkcji.

@eunix: tak pomyslalem, ze moze nie przypisujesz nigdzie wyniku dzialania tej fukcji?

  1. <?php
  2. $tresc = 'abcdefghij';
  3. $tresc = bb_code($tresc);
  4. echo $tresc;
  5. ?>


pozdr.
siemakuba
@erix, doszedles do tego co @eunix pokazal na samym poczatku :P
dopiero potem @Nightwalk to zmienil, na co zwrocilem uwage. Poczekajmy na odzew od @eunix, bo po mojemu funkcja od poczatku jest OK, a jedynie uzycie moze byc nie za bardzo.

pozdr.
erix
Ups, pardon, nie zauwazylem tego w pierwszym poscie; patrzylem na ostatni listing biggrin.gif
Post wywalony smile.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.