Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pattern do preg_match
Forum PHP.pl > Forum > Przedszkole
bartisz
witam
bardzo proszę o pomoc w stworzeniu patternu. Muszę wyciągnąć tekst ze znaczników [quote ](tekst)[ /quote].
z góry dziękuję
pozdrawiam winksmiley.jpg
skowron-line
Może nie do końca to co chciałeś ale znajdziesz rozwiązanie
  1. <?php
  2. function bbcode ($string)
  3. {
  4. // All the default bbcode arrays.
  5. $bbcode = array(
  6. //Text Apperence
  7. '#\[b\](.*?)\[/b\]#si' => '<b>\\1</b>',
  8. '#\[i\](.*?)\[/i\]#si' => '<i>\\1</i>',
  9. '#\[u\](.*?)\[/u\]#si' => '<u>\\1</u>',
  10. '#\[s\](.*?)\[/s\]#si' => '<strike>\\1</strike>',
  11. '#\[sub\](.*?)\[/sub\]#si' => '<sub>\\1</sub>',
  12. '#\[sup\](.*?)\[/sup\]#si' => '<sup>\\1</sup>',
  13. '#\[center\](.*?)\[/center\]#si' => '<center>\\1</center>',
  14. //Font Color
  15. '#\[color=(.*?)\](.*?)\[/color\]#si' => '<font color="\\1">\\2</font>',
  16. '#\[size(.*?)\](.*?)\[/size\]#si' => '<font size="\\1">\\2</font>',
  17. //Text Effects
  18. '#\[bl\](.*?)\[/bl\]#si' => '<blink>\\1</blink>',
  19. '#\[marquee\](.*?)\[/marquee\]#si' => '<marquee>\\1</marquee>',
  20. //Other
  21. '#\[code\](.*?)\[/ code]#si' => '<div class="bbcode_code_title">CODE:</div><div class="bbcode_code_code">\\1<div>',
  22. '#\[code=(.*?)\](.*?)\[/code\]#si' => '<div class="\\1">\\2</div>',
  23. '#\[url=http://(.*?)\](.*?)\[/url]#si' => '<a href="\\1" target="_blank">\\2</a>',
  24. '#\[quote\](.*?)\[/quote\]#si' => '<div class="bbcode_quote_title">CODE:</div><div class="bbcode_quote_quote">\\1<div>',
  25. '#\[img\](.*?)\[/img\]#si' => '<img src="\\1">',
  26. '#\[email\](.*?)\[/email\]#si' => '<a href="mailto:\\1">\\1</a>'
  27. );
  28. $output = preg_replace(array_keys($bbcode), array_values($bbcode), $string);
  29. return $output;
  30. }
  31. ?>
bartisz
dzięki bardzo!
nieco zmodyfikowałem pattern do quote i pięknie działa 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.