Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Funkcja htmlspecialchars i wyjątki
-kaerzet-
post
Post #1





Goście







witam

mam taki problem, uzywam funkcji htmlspecialchars() żeby zamieniło tagi html na zwykły tekst. A jak zrobić żeby zamieniło mi wszystkie tagi na treść OPRÓCZ np. <br /> (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


A w jakim celu chcesz pozostawić <br>?
Go to the top of the page
+Quote Post
-kaerzet-
post
Post #3





Goście







no po to, że jak ktoś wpisze np. <lol> to żeby mi to pokazało ale żeby nie zamieniało mi <br /> na "tekst" tylko żeby robiłą tą następną linie.

ps. sorry za to że nie wstawiłem "prtefixu" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Fipaj
post
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


No to wstaw ten prefix (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <?php
  2.  
  3. str_replace ('<', '&gt;', $output);
  4. str_replace ('>', '&lt;', $output);
  5.  
  6. ?>


I starczy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
PS. Mogłem się pomylić z "<" i ">" - jakby co, zmień (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

[edited]
@tiraeth: ups...

Ten post edytował Fipaj 8.03.2006, 19:44:16
Go to the top of the page
+Quote Post
tiraeth
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


@Fipaj: Przeczytaj pytanie zanim odpowiesz. Twoja odpowiedź ni jak ma się do udzielenia pomocy, bo Twój kod też zamieni znacznik <br /> na napis &gt;br /&lt;

A nie lepiej strip_tags?
Go to the top of the page
+Quote Post
czachor
post
Post #6





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

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


@tiraeth: ale @kaerzet-owi chodzi o to, żeby nie usuwać tagów, tylko zmienić wszystkie '<' i '>' na '&gt;' i '&lt;', a zostawić bez zmian tylko '<br />'... przynajmniej ja tak to zrozumiałem.

Najlepiej to chyba by jakimś wyrażeniem potraktować, ale nie jestem w tym mocny, więc trochę naokoło:
  1. <?php
  2. $output = str_replace('&lt;br /&gt;', '<br />', htmlspecialchars($output, ENT_NOQUOTES));
  3. ?>


Ten post edytował czachor 8.03.2006, 18:56:01
Go to the top of the page
+Quote Post
sobstel
post
Post #7





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


nie lepiej po prostu nowe linie zostawić nowymi liniami czyli "\n" i konwertować to za pomocą nl2br ?
Go to the top of the page
+Quote Post
bronx
post
Post #8





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


moim zdaniem najlepszy sposób to tak:

  1. <?php
  2. $tresc = htmlspecialchars($tresc);
  3.  
  4. tresc=str_replace("&lt;br /&gt;","<br />",$tresc);
  5. ?>


Ten post edytował bronx 8.03.2006, 23:43:01
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: 23.08.2025 - 01:32