Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]htmlspecjalcharts
Forum PHP.pl > Forum > Przedszkole
kingofspace
Witam tworze obecnie cms na własne potrzeby i mam problem mam taki kod

  1. while($r = mysql_fetch_assoc($wynik)) {
  2. echo('
  3. <div class="n">
  4. <div class="nt">');
  5. $tytul=$r['news_tytul'];
  6. $tytul=htmlspecialchars($tytul);
  7.  
  8. echo ('<h1>');
  9. echo ($tytul);
  10. echo ('</h1>');
  11. echo "".$r['news_skrot']."";
  12. echo ('</div><div class="nb">Napisał:');
  13. echo "".$r['news_autor']."";
  14. echo(' | dn.');
  15. echo "".$r['news_data']."";
  16. echo('<div><a href="newsy.php?id=');
  17. echo "".$r['news_id']."";
  18. echo('">[czytaj więcej/komentuj]</a></div></div></div>');
  19. }


tojest pętla wyświetlająca newsy
tylko ze jak ktos wpisze wnewsie html np </div> to strona layout siś sypie na łeb na szyje;;] chcialbym temu zapobiec;]

w powyzszym kodzie tytul przelecialem chtmlspecjalcharts lecz nadal html sie wykonuje
jak zrobic do tego bbcody?
zeby bylo np tekst



edit udało mi sie juz zrobic zeby mi sie nieinterpretwal html tylko ze znaczniki html się wyświetlają tym razem;] chcialbym zrobic do tego bbcode:P
Zyx
Napisz bibliotekę do obsługi BBCode lub zainstaluj jakąś gotową. PHP nie ma wbudowanej takiej funkcjonalności domyślnie (jest w PECL-u moduł, ale trzeba go samodzielnie skompilować i na 99% Twój serwer nie będzie go mieć). Zazwyczaj BBCode parsuje się przy wstawianiu treści do bazy danych, a nie przy wyświetlaniu, ze względów wydajnościowych. Gdy chcemy edytować, albo treść źródłowa jest zapisywana obok (skompresowana), albo stosuje się parser odwrotny, który HTML konwertuje z powrotem na BBCode.

Nawiasem mówiąc popracuj jeszcze nad jakością kodu.

  1. $tytul=$r['news_tytul'];
  2. $tytul=htmlspecialchars($tytul);
  3.  
  4. echo ('<h1>');
  5. echo ($tytul);


Pamiętaj, że można zrobić następującą rzecz:

  1. echo '<h1>'.htmlspecialchars($r['news_tytul']).'</h1>';


Zmienne tymczasowe powinno się wprowadzać tylko wtedy, gdy są one nam naprawdę z jakichś względów potrzebne. Ty tymczasem wykonujesz kupę przypisań zupełnie bez sensu - nie ma to żadnego znaczenia praktycznego. Klepiesz jedynie za dużo kodu i dokładasz niepotrzebną robotę interpreterowi.
Kildyt
Tak na marginesie: echo nie jest funkcją (odsyłam do dokumentacji), więc nawiasy są niepotrzebne.
kingofspace
ja jestem początkującym koderem to sa moje pierwsze działające skrypty. Za krytykę dziekuje i pozdrawiam rozwiązałem ten problemz html tylko to bbcode mnie meczy;/
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.