Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: koniec klopotow ze znakami specjalnymi?
Forum PHP.pl > Forum > Przedszkole
hmmm
wiem, ze ten temat byl omawiany wiele razy, ale nie czytalem postow, bo rozwiazanie mnie wowczas nie interesowalo.

chodzi prawidlowe wyswietlanie roznych znakow, ktorych wpisanie do ksiegi i nie przepuszczenie przez odpowiednie funkcje moze popsuc uklad strony.

napisalem sobie taki oto funkcje i prosze o ocene, ewentualnie co moge poprawic, dodac, itd smile.gif

kod:
  1. <?php
  2. function zastap($zmienna) {
  3. $zmienna = str_replace(&#092;"<\", \"&lt;\", $zmienna);
  4. $zmienna = str_replace(&#092;">\", \"&gt;\", $zmienna);
  5. $zmienna = str_replace(&#092;"n\", \"<br />\", $zmienna);
  6. return trim(stripslashes($zmienna));
  7. }
  8. ?>

funkcja jest mi potrzebna do wyswietlenia wpisow w ksiedze gosci.
najpierw dane zapisuje do bazy danych dodajac znaki odwrotnego ukosnika, a potem pobieram juz w ksiedze i przepuszczam przez funkcje.
dziala dobrze, ale co moge poprawic?
strife
Do czegoś takiego php mahtmlspecialchars" title="Zobacz w manualu PHP" target="_manual i nl2br" title="Zobacz w manualu PHP" target="_manual Pozdrawiam!

EDIT

@hmmm - Zawsze warto czytać, polecam też korzystanie z wyszukiwarki. smile.gif Do linijki łamiącej wiersze jest właśnie nl2br" title="Zobacz w manualu PHP" target="_manual

EDIT UPDATE

@hmmm - Cieszę się smile.gif Pozdrawiam.
hmmm
buuu ... czyli warto jednak bylo poczytac tongue.gif

czyli wystarczy:
  1. <?php
  2. function zastap($zmienna) {
  3.         return trim(htmlspecialchars($zmienna));
  4. }
  5. ?>
zamiast tych kilku linijek z tego, co 'juz' zauwazylem :roll2:

edit1:
a jednak blad ... nie lamie mi wierszy :/

edit2:
ok, juz rozwiazalem
  1. <?php
  2. function zastap1($zmienna) {
  3. $zmienna = trim(htmlspecialchars($zmienna));
  4. $zmienna = str_replace(&#092;"n\", \"<br />\", $zmienna);
  5. return $zmienna;
  6. }
  7. ?>
tts
scarface zaproponowal ci funkcje, ktora zapewni Ci lamanie wierszy:
Cytat
  Do czegoś takiego php mahtmlspecialchars i nl2br Pozdrawiam!
hmmm
no ale gdyby lamalo, to bym potem nie dopisal str_replace do funkcji ...
nie wiem, moze dlatego, ze dane pobieram z bazy danych, a wprowadzam je tam przepuszczajac przez funkcje (juz nie moja tongue.gif) :
  1. <?php
  2. //funkcja poprzedzajaca znakiem odwrotnego ukosnika wszystkie problematyczne znaki
  3. function escape_data($data) {
  4. //jezeli dane zostaly juz przepuszczone przez magic quotes
  5. //usun wprowadzone ukosniki przed znakami specjalnymi
  6. if (ini_get('magic_quotes_gpc')) {
  7. $data = stripslashes($data);
  8. }
  9. //dodaj odwrotne ukosniki przed znakami specjalnymi
  10. //usun niepotrzebne odstepy
  11. return mysql_real_escape_string(trim($data));
  12. }
  13. ?>
ja dodalem tylko komentarze
czachor
No a w którym miejscu używasz nl2br()?
  1. <?php
  2.  
  3. ?>
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.