Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> BBCode, działający skrypt
Fipaj
post
Post #1





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Oto ciekawy skrypt obsługi BBCode... Jest bardzo prosty, przez co łatwo dodawać nowe funkcje. Proszę o krytykę i pomysły na nowe funkcje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2.  
  3. function bbcode ($ciag) {
  4.     // [kursywa]
  5.     $ciag = str_replace ('[kursywa]', '<i>', $ciag);
  6.     $ciag = str_replace ('[/kursywa]', '</i>', $ciag);
  7.  
  8.     // [podkreslenie]
  9.     $ciag = str_replace ('[podkreslenie]', '<u>', $ciag);
  10.     $ciag = str_replace ('[/podkreslenie]', '</u>', $ciag);
  11.  
  12.     // [pogrubienie]
  13.     $ciag = str_replace ('[pogrubienie]', '<b>', $ciag);
  14.     $ciag = str_replace ('[/pogrubienie]', '</b>', $ciag);
  15.  
  16.     // [rozmiar=\"x\"] (x = x pikseli)
  17.     $ciag = str_replace ('[rozmiar=\"', '<span style=\"font-size: ', $ciag);
  18.     $ciag = str_replace ('\"]', '\">', $ciag);
  19.     $ciag = str_replace ('[/rozmiar]', '</span>', $ciag);
  20.  
  21.     // [kolor=\"#FFFFFF\"] (#FFFFFF - kod szesnastkowy koloru)
  22.     $ciag = str_replace ('[kolor=\"', '<span style=\"color: ', $ciag);
  23.     $ciag = str_replace ('\"]', '\">', $ciag);
  24.     $ciag = str_replace ('[/kolor]', '</span>', $ciag);
  25.  
  26.     // [obraz=\"http://localhost/\" /] (zamiast http://localhost URL lub URI, pamiętaj o / na końcu!)
  27.     $ciag = str_replace ('[obraz=\"', '<img alt=\"\" src=\"', $ciag);
  28.     $ciag = str_replace ('\" /]', '\" />', $ciag);
  29.  
  30.     // [link=\"http://localhost/\"] (zamiast http://localhost URL lub URI)
  31.     $ciag = str_replace ('[link=\"', '<a href=\"', $ciag);
  32.     $ciag = str_replace ('[/link]', '</a>', $ciag);
  33.  
  34.     // [email=\"fipaj@poczta.onet.pl\"] (zamiast fipaj@poczta.onet.pl wpisz adres e-mail)
  35.     $ciag = str_replace ('[email=\"', '<a href=\"mailto:', $ciag);
  36.     $ciag = str_replace ('[/email]', '</a>', $ciag);
  37.  
  38.     // [gg=\"4953847\"] (zamiast 4953847 numer GG)
  39.     $ciag = str_replace ('[gg=\"', '<a href=\"gg:', $ciag);
  40.     $ciag = str_replace ('[/gg]', '</a>', $ciag);
  41.  
  42.     // [skype=\"fipaj_lokonet\"] (zamiast fipaj_lokonet swój skype_id)
  43.     $ciag = str_replace ('[skype=\"', '<a href=\"callto:', $ciag);
  44.     $ciag = str_replace ('[/skype]', '</a>', $ciag);
  45.  
  46.     return $ciag;
  47. }
  48.  
  49. print bbcode('ten tekst będzie [pogrubienie]pogrubiony[/pogrubienie], dodatkowo jak sie ktoś postara, to i [podkreslenie] podkreślony[/podkreslenie], zaś dla mistrzów w temacie, poleca sie rownież użycie [kursywa]ku
    rsywy[/kursywa]. a oto [link=\"link...\"]hiperłącze![/link]. [kolor=\"darkred\"]zdaje mi się, że bbcode działa![/kolor]'
    );
  50.  
  51. ?>


Ten post edytował Fipaj 28.02.2005, 14:55:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fipaj
post
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
No i czego takiego długie nazwy
- każdy może sobie zmienić.



  1. <?php
  2.  
  3. function bbcode ($ciag) {
  4. // [kursywa]
  5. $ciag = str_replace ('[kursywa]', '<i>', $ciag);
  6. $ciag = str_replace ('[/kursywa]', '</i>', $ciag);
  7.  
  8. // [podkreslenie]
  9. $ciag = str_replace ('[podkreslenie]', '<u>', $ciag);
  10. $ciag = str_replace ('[/podkreslenie]', '</u>', $ciag);
  11.  
  12. // [pogrubienie]
  13. $ciag = str_replace ('[pogrubienie]', '<b>', $ciag);
  14. $ciag = str_replace ('[/pogrubienie]', '</b>', $ciag);
  15.  
  16. // [rozmiar=\"x\"] (x = x pikseli)
  17. $ciag = str_replace ('[rozmiar=\"', '<span style=\"font-size: ', $ciag);
  18. $ciag = str_replace ('\"]', '\">', $ciag);
  19. $ciag = str_replace ('[/rozmiar]', '</span>', $ciag);
  20.  
  21. // [kolor=\"#FFFFFF\"] (#FFFFFF - kod szesnastkowy koloru)
  22. $ciag = str_replace ('[kolor=\"', '<span style=\"color: ', $ciag);
  23. $ciag = str_replace ('\"]', '\">', $ciag);
  24. $ciag = str_replace ('[/kolor]', '</span>', $ciag);
  25.  
  26. // [obraz=\"http://localhost/\" /] (zamiast http://localhost URL lub URI, pamiętaj o / na końcu!)
  27. if (!ereg ('[obraz=\"http://www.zablokowany_adres.pl', $ciag)) {
  28. $ciag = str_replace ('[obraz=\"', '<img alt=\"\" src=\"', $ciag);
  29. $ciag = str_replace ('\" /]', '\" />', $ciag);
  30. }
  31.  
  32. // [link=\"http://localhost/\"] (zamiast http://localhost URL lub URI)
  33. if (!ereg ('<script', $ciag)) {
  34. $ciag = str_replace ('[link=\"', '<a href=\"', $ciag);
  35. $ciag = str_replace ('[/link]', '</a>', $ciag);
  36. }
  37.  
  38. // [email=\"fipaj@poczta.onet.pl\"] (zamiast fipaj@poczta.onet.pl wpisz adres e-mail)
  39. $ciag = str_replace ('[email=\"', '<a href=\"mailto:', $ciag);
  40. $ciag = str_replace ('[/email]', '</a>', $ciag);
  41.  
  42. // [gg=\"4953847\"] (zamiast 4953847 numer GG)
  43. $ciag = str_replace ('[gg=\"', '<a href=\"gg:', $ciag);
  44. $ciag = str_replace ('[/gg]', '</a>', $ciag);
  45.  
  46. // [skype=\"fipaj_lokonet\"] (zamiast fipaj_lokonet swój skype_id)
  47. $ciag = str_replace ('[skype=\"', '<a href=\"callto:', $ciag);
  48. $ciag = str_replace ('[/skype]', '</a>', $ciag);
  49.  
  50. // [cytat]
  51. $ciag = str_replace ('[cytat]', '<div style=\"background-color:lightgrey; border:1px solid gray;\">', $ciag);
  52. $ciag = str_replace ('[/cytat]', '</div>' $ciag);
  53.  
  54. // [ip=\"\"]
  55. $ciag = str_replace ('[ip=\"', '<a href=\"http://www.ripe.net/fcgi-bin/whois?form_type=simple&full_query_string=&searchtext=', $ciag);
  56. $ciag = str_replace ('[/ip]', '</a>', $ciag);
  57.  
  58. // [lista]
  59. $ciag = str_replace ('[lista]', '<ul>', $ciag);
  60. $ciag = str_replace ('[/lista]', '</ul>', $ciag);
  61.  
  62. // [punkt]
  63. $ciag = str_replace ('[punkt]', '<li>', $ciag);
  64. $ciag = str_replace ('[/punkt]', '</li>', $ciag);
  65.  
  66. // [kod]
  67. $ciag = str_replace ('[orientacja=\"', '<div style=\"text-align:', $ciag);
  68. $ciag = str_replace ('[/orientacja]', '</div>', $ciag);
  69.  
  70. // [czcionka]
  71. $ciag = str_replace ('[czcionka=\"', '<span style=\"font-family:', $ciag);
  72. $ciag = str_replace ('[/czcionka]', '</span>', $ciag);
  73.  
  74. // [tytul]
  75. $ciag = str_replace ('[tytul]', '<h1>', $ciag);
  76. $ciag = str_replace ('[/tytul]', '</h1>', $ciag);
  77.  
  78. // [linia /]
  79. $ciag = str_replace ('[linia /]', '<hr />', $ciag);
  80.  
  81. return $ciag;
  82. }
  83.  
  84. ?>


poprawione bezpieczeństwo dodane nowe funkcje.

mam jednak problem: chciałem zrobić tag [php], wykorzystując highlight_string, ale za bardzo nie wiem jak...

Ten post edytował Fipaj 1.03.2005, 14:33:48
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 04:32