menhils
21.01.2014, 17:49:48
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
21.01.2014, 18:09:51
menhils
21.01.2014, 18:14:51
htmlspecialchars($tekst) dezaktywuje kod html, a ja chce żeby on był tylko w tej zmiennej i nie wychodił po za nią
nospor
21.01.2014, 18:35:39
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
21.01.2014, 18:40:16
Albo zamiast html używać BBcode tak jak na forach
nospor
21.01.2014, 18:43:39
No jesli masz taką mozliwosc to jak najbardziej. Sadzilem, ze uzywasz HTML bo musisz. Skoro nie musisz, to BBCODE wymyslono nie bez powodu
menhils
21.01.2014, 20:25:14
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
21.01.2014, 20:41:39
Skoro nie chcesz BR to nie uzywaj nl2br
marcinkurtyka
21.01.2014, 21:02:11
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.