Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML] Pisanie bbcode
NaVarion
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 23.02.2008

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


Hej.. Robię stronkę, i chcę, by osoba która dodaje newsy mogła korzystać z następujących znaczników bbcode: b, u, i oraz color.
Po wygenerowaniu tego kodu przez generator bbcode (http://bbcode.strefaphp.net/bbcode.php):

  1. <?php
  2. // bbcode
  3. Function bbcode($str){
  4.  
  5. // usun zbedne
  6. $str=htmlspecialchars(trim($str));
  7.  
  8. // Pogrubiony tekst
  9. $str = preg_replace("#(.*?)#si", "<b>1</b>", $str);
  10.  
  11. // Pochylony tekst
  12. $str = preg_replace("#(.*?)#si", "<i>1</i>", $str);
  13.  
  14. // Podkreślony tekst
  15. $str = preg_replace("#(.*?)#si", "<u>1</u>", $str);
  16.  
  17. // Kolor tekstu
  18. $str = preg_replace("#(.*?)#si", "<span style=\"color:2\">3</span>", $str);
  19.  
  20. // kolejny wiersz
  21. $str=nl2br($str);
  22.  
  23. // js
  24. $str = preg_replace_callback("#<(.*?)javascript(.*?)>#si", "bbcode_js", $str);
  25.  
  26. // wynik
  27. return $str;}
  28.  
  29.  
  30. // anti js
  31. Function bbcode_js($str){
  32. if(!eregi('<a href=\"javascript:mailto:mail('',$str[0])){
  33. return str_replace('javascript','java_script',$str[0]);
  34. }else{return $str[0];}}
  35. ?>


Kod ten dałem do bbcode.php, a w pliku news.php napisałem:

  1. <?php
  2. echo '
  3. <form method="POST" action="news.php?dodaj=dodaj">
  4. <table>
  5. <tr>
  6. <td>Tytuł</td>
  7. <td><input type="text" name="tytul">
  8. </tr>
  9. <tr>
  10. <td>Data</td>
  11. <td><input type="text" name="data"> (np. 16 sierpnia 2008)
  12. </tr>
  13. <tr>
  14. <td>Tresć</td>
  15. <td><textarea name="tresc" cols="40" rows="15">Tresć</textarea></td>
  16. </tr>
  17.  
  18. <td><input type="submit" value="Dodaj news"></td>
  19. </tr>
  20. </table>
  21. </form>
  22.  
  23. ';
  24. } elseif($_GET['dodaj'] == 'dodaj') {
  25. $tytul = $_POST['tytul'];
  26. $data = $_POST['data'];
  27. $tresc = $_POST['tresc'];
  28. $autor = $user['user'];
  29. if(!$tytul || !$data || !$tresc) {
  30. echo 'Musisz wypełnić wszystkie pola!';
  31. require('../include/foot.php');
  32. }
  33. require("bbcode.php");
  34.  
  35. bbcode($tresc);
  36.  
  37. mysql_query("INSERT INTO news (tytul, data, tresc, autor) values ('$tytul', '$data', '$tresc', '$autor')") or die ('Error: ' . mysql_error());
  38. echo 'Dodałem nowy news!!';
  39. ?>


Jednak gdy wpisuję w treści newsa np. [ b ]test[ /b ] (bez spacji), to w wyświetlaniu newsów na stronie głównej pokazuje się właśnie [ b ]test[ /b ] (bez spacji) a nie test ;/

Może mi ktoś pomóc?

Pozdrawiam!

Ten post edytował NaVarion 15.08.2008, 09:45:45


--------------------
Cytuję z naszej-klasy:
Cytat
to masz problem ja chce dobic do 200 znajomych masz przyjac to holerne zaproszenie
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 07:20