Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> htmlentities dla kodowań ISO 8859 oraz filtrowanie
tosiek
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 7.07.2008

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


Napisałem 3 funkcje z czego 2 to naśladownictwo oryginałów - głównym bohaterem są tablice (czy ktoś mógłby mi przedstawić racjonalne zastosowanie htmlentities?). Filtrowanie danych w kodowaniach ISO/IEC 8859. Pierwsza funkcja usuwa wszystko co niepotrzebne z ciągu dla tych kodowań - tak przy okazji czy ktokolwiek widział kiedykolwiek dywiz w przeglądarce (mi się nie chce wyświetlić)?
Swoją drogą w wyrażeniach regularnych podawać lepiej zakresy typu \\x00-\\x08 czy jeśli jest możliwość to wylistować wszystkie możliwości?

Kolejne dwie funkcje to prób naśaldownictwa htmlentities() i html_entity_decode()

Jedyny mankament, którego nie jestem pewien to format encji tj. przy podwójnym kodowaniu encji:
  1. if ($double_encode == true) {
  2. $string = str_replace("\x26", '&', $string); // or &
  3. } else {
  4. $string = preg_replace('/&(?!(((#|#X|#x)+[a-fA-F0-9]{1,4})|[a-zA-Z]{1,10}[0-9]{0,3})+;)/', '&', $string, -1); // or &
  5. }

A konkretniej w momencie kiedy ma zostawić &(ampersand) w spokoju gdy występuje jako prefix encji.

No i czy przy dekodowaniu encji wystarczy pojedyncze dekodowanie podwójnie zakodowanych encji?(tutaj na forum są chyba 3 krotnie dekodowane)

Ten post edytował tosiek 9.05.2011, 05:52:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
wiewiorek
post
Post #2





Grupa: Zarejestrowani
Postów: 247
Pomógł: 11
Dołączył: 5.09.2009

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


htmlentities jest stosowane dla bezpieczeństwa, np. user wpisuje cos w inpucie z cudzyslowami, co skutkuje 'wylaniem sie' tego poza inputa - w najlepszym wypadku.

Nie chce mi sie analizowac Twego kodu, bo nie widze sensu pisac czegos co juz zostalo zrobione, a tymbardziej czegos jak sie nie wie po co to cos jest. (IMG:style_emoticons/default/businesssmiley.png)
Go to the top of the page
+Quote Post
tosiek
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 7.07.2008

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


Cytat
htmlentities jest stosowane dla bezpieczeństwa, np. user wpisuje cos w inpucie z cudzyslowami, co skutkuje 'wylaniem sie' tego poza inputa - w najlepszym wypadku.

Htmlentities podmienia każdy znak spoza zakresu ASCII w kodowaniu iso-8859-1 na zwykłą encję htmlową tj z zakresu 0x9F - 0xFF. Do tego co piszesz służy funkcja htmlspecialchars która podmienia znaki specjalne używane w html'u jak LESS-THAN SIGN oraz GREATER-THAN SIGN

Cytat
nie widze sensu pisac czegos co juz zostalo zrobione, a tymbardziej czegos jak sie nie wie po co to cos jest.

To masz jakiś lepszy pomysł jak użyć tablic z encjami dla innych kodowań niż te dostępne w manualu?

Ten post edytował tosiek 9.05.2011, 19:27:59
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: 24.08.2025 - 07:57