Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Blokowanie znaczników HTML
menhils
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


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ą.

Ten post edytował menhils 21.01.2014, 18:07:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
ZaqU
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 21.01.2013

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


Użyj htmlspecialchars().
Go to the top of the page
+Quote Post
menhils
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


htmlspecialchars($tekst) dezaktywuje kod html, a ja chce żeby on był tylko w tej zmiennej i nie wychodił po za nią

Ten post edytował menhils 21.01.2014, 18:15:05
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
menhils
post
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


Albo zamiast html używać BBcode tak jak na forach
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No jesli masz taką mozliwosc to jak najbardziej. Sadzilem, ze uzywasz HTML bo musisz. Skoro nie musisz, to BBCODE wymyslono nie bez powodu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
menhils
post
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 6.01.2012

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


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ć?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Skoro nie chcesz BR to nie uzywaj nl2br (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
marcinkurtyka
post
Post #9





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.01.2014
Skąd: Jelenia Góra

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


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.

Ten post edytował marcinkurtyka 21.01.2014, 21:05:25
Go to the top of the page
+Quote Post

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: 4.10.2025 - 00:11