Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Blokowanie znaczników HTML
Forum PHP.pl > Forum > Przedszkole
menhils
Witam, jak zablokować znaczniki HTML aby działały tylko w danej zmiennej?

Chodzi o to że wyświetlam tekst pobrany z bazy $tekst i jeśli ktoś doda na końcu tekstu <b> pogrubia całą stronę. Chcę żeby znaczniki HTML dziłały tylko w danej zmiennej i nie wychodziły po za nią.
ZaqU
Użyj htmlspecialchars().
menhils
htmlspecialchars($tekst) dezaktywuje kod html, a ja chce żeby on był tylko w tej zmiennej i nie wychodił po za nią
nospor
No niestety ale musisz przeparsowac swoj kod w zmiennej i szukac w nim takich wlasnie kwiatkow.
Ewentualnie skorzystac z klasy np. HTMLPurifier, ktora zalatwi to za ciebie
menhils
Albo zamiast html używać BBcode tak jak na forach
nospor
No jesli masz taką mozliwosc to jak najbardziej. Sadzilem, ze uzywasz HTML bo musisz. Skoro nie musisz, to BBCODE wymyslono nie bez powodu smile.gif
menhils
Robię stronę, czyli mogę użwyać wszystko, a teraz pisząc na forum przypomiało mi się o BBCODE
Dzięki za odp, można zamknąć

Jeszcze 1 pytanie
Wpisuje tekst w <textarea> i przechodze do następnej linii ENTERem
W bazie mysql tekst zapisuje się tak samo jak w textarea (tzn. tam gdzie dałem enter jes nowa linia)
I gdy wyswietlam ten tekst tam gdzie nowa linia wywala mi <br />. Jak się tego pozbyć?
nospor
Skoro nie chcesz BR to nie uzywaj nl2br wink.gif
marcinkurtyka
Zrób escapowanie znaków. Każdy znacznik html zastąp kodem &adfj... Ten kod to oczywiście tylko przykład. Znajdź, czy m powinieneś zastąpić nawiasy. Jest niewielki narzut w postaci parsowania tekstów, ale metoda skuteczna.
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.