Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> escape'owanie, -
dtb
post
Post #1





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


Przykład:

  1. <?php
  2. $table[] = 'kol1|kol2|kol3|kol4';
  3. $table[] = 'kol1|kol2|kol3|kol4';
  4. $table[] = 'kol1|kol2|kol3|kol4';
  5.  
  6. foreach ($table as $row)
  7. {
  8. $row = explode ('|', $row);
  9. echo $row[0]...;
  10. }
  11. ?>


Każdy miał pewnie doczynienia z tego typu przechowywaniem danych. Jak wiadomo sposob ten jest niedoskonały bo co gdy zechcemy w rekordzie wstawic tekst zawierajacy znak |?
Wpadłem na pomysł na escapowanie znaków:

  1. <?php
  2. $text = str_replace ('|', chr(4), $text);
  3. ...
  4. $text = str_replace (chr(4), '|', $text);
  5.  
  6. ?>


Jednak nie wiem czy to jest do końca bezpieczne. Za jakie znaki (kod ascii), ktorych normalnie nie da sie wprowadzic moge zamieniac znaki do ecpage'owania?


--------------------
Go to the top of the page
+Quote Post
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


A dlaczego nie użyć separatora np.: |;| zamiast samego |... Albo można też od razu z wartości każdego elementu $table zrobić kolejne tablice...


--------------------
Go to the top of the page
+Quote Post
dtb
post
Post #3





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


1. tablica $table jest efektem wykonania funkcji:
$table = file('plik');
2. to jest tylko przykład. nie chodzi mi tu o ta tabele ale o escapowanie znakow. to byl tylko przyklad na logiczne uzycie tego. moje pytanie brzmi:
Cytat
Za jakie znaki (kod ascii), ktorych normalnie nie da sie wprowadzic moge zamieniac znaki do ecpage'owania?


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Wczytujesz i zapisujesz zawsze wszystkie rekordy na raz? zainteresuj sie serialize / unserialize.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
dtb
post
Post #5





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


ta "baza/tabela" ktora zaprezentowalem to tylko przyklad, aby wam wytlumaczyc idee tego escape'owania. Naprawde potrzebuje tego do zupełnie czegoś innego. mi chodzi tylko i wylacznie k***a o pytanie:
Cytat
Za jakie znaki (kod ascii), ktorych normalnie nie da sie wprowadzic moge zamieniac znaki do ecpage'owania?


--------------------
Go to the top of the page
+Quote Post
crash
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Wybierz sobie:
  1. <?php
  2. for( $i = 1; $i < 128; $i++ )
  3. {
  4.    echo $i . ': ' . chr( $i ) . ', ';
  5. }
  6. ?>


http://www.programuj.com/ascii.php


--------------------
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 Aktualny czas: 19.08.2025 - 18:25