Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Filtr HTML
Forum PHP.pl > Forum > PHP
Ned-Yoshi
Na forum nie doszukałem się na razie żadnego rozwiązania tego problemu więc postanowiłem go przedstawić.

Problem jest następujący: jak zrobić, by z wczytywanych z bay dancyh komentarzy usuwane były tagi html. O tym problemie uświadomilem sobie, gdy jeden z moich kolegów wkleił mi w komentarz kod alertu jakiegoś... podobnie mozna wstawić jakiś wielki rysunek rozbijając stronkę.

Istnieją więc dwa sposoby rozwiązania tego problemu:
1. Żeby wczytywał komentarze doslownie, tzn. tagi html byly widoczne w przeglądarce i nie byly wykonywane.
2. Usunąć te tagi (ciąg między '<' a '>' z tymi znakami włącznie), ale to skolei może spowodować zamieszanie w przypadku gdy ktoś przez przypadek da jeden z tych znaków.

Pierwsze rozwiązanie jest chyba stosowane w witrynach wykorzystujących bbCode (od razu mówię, że ja nie potrzebuję możliwości formatowania tekstu komentarzy), ale nie mam pojecia jak wygląda ta funkcja. Czy może ktoś pomóc?
nospor
http://pl.php.net/strip_tags
wolguy
do tej zmiennej gdzie masz przechowywaną zawartość komentarzy proponuję użyć czegoś takiego:

$tresc = str_replace("&", "&amp;", $tresc);
$tresc = str_replace("<", "&lt;", $tresc);
$tresc = str_replace(">", "&gt;", $tresc);
$tresc = str_replace("\r\n", "<br>", $tresc);
Ociu
Cytat(wolguy @ 2005-07-19 18:16:43)
$tresc = str_replace("\r\n", "<br>", $tresc);

nl2br" title="Zobacz w manualu PHP" target="_manual
Pedros
Witam...
Mam problem zachaczający o to samo...
Również chodzi o dodawanie komentarzy(oraz cmsa). Różnica jest taką, że zależy mi również na zamianie & na &amp;
Zastanawiam się co jest lepszym rozwiązaniem... zamiana podczas wczytywania z bazy danych, czy też przy zapisywaniu do bazy.
Wydaje się, iż najlepszym rozwiązaniem jest htmlspecialchars lub htmlentities, ale....
gdy sam wpiszę &amp, to funkcja zamienia mi to na &amp;amp;

Proszę o wskazówkę w jaki sposób najlepiej to rozwiązać...
Kinool
ja uzywam htmlspecialchars" title="Zobacz w manualu PHP" target="_manual co do stosowanie to przed zapisem do bazy bo robisz to raz a nie 1000 razy przy kazdym wejsciu na strone smile.gif
Pedros
no ok... też mi się wydaje, że tak lepiej...
ale radzisz sobie jakoś z &amp;amp; questionmark.gif?
bo liczenie na to, że w polu textarea nikt nie wpisze(lub ja nie zapomnę) &amp; jest lekko idiotyczne...

wydaje się, iż kombinacja html_entity_decode i