Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Walidacja kodu pod wzgflędem html
Zwariowany
post 26.12.2009, 20:45:59
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


Witam. Aby wyświetlić komentarze do profilu chciałbym, by skrypt odczytując dane z bazy danych wyświetlił dany kod html w postaci zwykłego tekstu. Znalazłem funkcję strip_tags, ale on zamienia znaczniki na białą przestrzeń. A ja chciałbym, by zamienił mi na tekst. Pozdrawiam i proszę o pomoc.


--------------------
Go to the top of the page
+Quote Post
Lion_87
post 26.12.2009, 20:59:58
Post #2





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


htmlspecialchars
Go to the top of the page
+Quote Post
Zwariowany
post 26.12.2009, 21:04:14
Post #3





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


A gdy chciałbym wszystko prócz enterów usunąć, to jak to zrobić, bo mi nie działa w ten sposób:

  1.  
  2. htmlspecialchars($tresc,'<br />').
  3.  




--------------------
Go to the top of the page
+Quote Post
Blame
post 26.12.2009, 21:57:43
Post #4





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Do głowy przychodzi mi tylko użycie htmlspecialchars a potem str_replace('&lt;br /&lt;', '<br />');


--------------------
Go to the top of the page
+Quote Post
cim
post 27.12.2009, 00:48:50
Post #5





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

jeżeli chcesz usunąć wszystko oprócz <br> to użyj strip_tags z drugim argumentem (tam podaj tagi html, które mają zostać):
  1. $tekst = '<p>akapit</p><br /><br><div>diff</div>';
  2. echo(strip_tags($tekst, '<br>'));


Szczegóły w manualu.

Pozdrawiam


--------------------
errare humanum est
Go to the top of the page
+Quote Post
Zwariowany
post 27.12.2009, 10:23:15
Post #6





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


Przeczytaj cały temat, bo ja już użyłem strip tags, działał on dobrze, z tym, że zamieniał kod html na pustą przestrzeń


--------------------
Go to the top of the page
+Quote Post
cim
post 27.12.2009, 13:45:58
Post #7





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

przeczytałem cały temat:
1. chciałeś ZAMIENIĆ kod HTML na wyświetlany tekst
2. jak nie udało się ZAMIENIĆ to ja rozumiem, że pytając 'A gdy chciałbym... USUNĄĆ' zmieniłeś koncepcje i chcesz, cytuję: "wszystko oprócz enterów USUNĄĆ" i pytasz jak to zrobić:
Cytat(Zwariowany)
A gdy chciałbym wszystko prócz enterów usunąć, to jak to zrobić, bo mi nie działa w ten sposób:

Natomiast wszystko oprócz enterów USUNĄĆ można strip_tags (pisałeś, że go użyłeś, ale nie wspomniałeś czy z drugim argumentem, który w tym wypadku jest kluczowy), więc moja odpowiedź była dokładnie na Twoje pytanie (usuń to nie zamień).

Wracając do merytoryki to rozwiązanie kolegi @Blame wydaje się jedyne, bo w manualu nic dokładnie tak działającego nie znalazłem.

Pozdrawiam


--------------------
errare humanum est
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:41