Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własna implementacja BBCode
akurczyk
post
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 5
Dołączył: 15.07.2008
Skąd: Kłodzko

Ostrzeżenie: (10%)
X----


Napisałem własną implementacje BBCode:
  1. <?php
  2. function bbcode($tekst) {
  3.     $tekst = htmlspecialchars($tekst); Wyłączenie możliwości stosowania znaczników HTML
  4.     $tekst = preg_replace("#(.*?)#si", "<b>1</b>", $tekst); Pogrubiony tekst
  5.     $tekst = preg_replace("#(.*?)#si", "<i>1</i>", $tekst); Pochylony tekst
  6.     $tekst = preg_replace("#(.*?)#si", "<u>1</u>", $tekst); Podkreślony tekst
  7.     $tekst = preg_replace("#[quot](.*?)[/quot]#si", "<blockquot>1</blockquot>", $tekst); Cytat
  8.     $tekst = preg_replace("#[code](.*?)[/code]#si", "<pre>1</pre>", $tekst); Kod
  9.     $tekst = preg_replace("#(.*?)#si", "<span style=\"color: 2;\">3</span>", $tekst); Kolor tekstu
  10.     $tekst = preg_replace("#(.*?)#si", "<span style=\"font-size: 2;\">3</span>", $tekst); Czcionka
  11.     $tekst = preg_replace("#[ul](.*?)[/ul]#si", "<ul>1</ul>", $tekst); Ponumerowanie
  12.     $tekst = preg_replace("#[ol](.*?)[/ol]#si", "<ol>1</ol>", $tekst); Wypunktowanie
  13.     $tekst = preg_replace("#[li](.*?)[/li]#si", "<li>1</li>", $tekst); Punkt
  14.     $tekst = preg_replace("#(.*?)#si", "<a href=\"2\">3</a>", $tekst); Link
  15.     $tekst = preg_replace("#[img](.*?)[/img]#si", "<img src=\"1\">", $tekst); Obrazek
  16.     $tekst = nl2br($tekst); Dodanie kolejnej linii
  17.     return $tekst; Wynik
  18. }
  19. echo bbcode("Tekst do sformatowania"); Wyświetlenie sformatowanego tekstu
  20. ?>

I pojawił się problem w tagu code (pre) każda linia jest poprzedzona jedną pustą linią.
Problem ten znika gdy za komentuję nl2br, ale wtedy tekst poza code nie jest łamany.
Proszę o pomoc

Ten post edytował akurczyk 13.10.2008, 21:46:52
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: 25.08.2025 - 10:17