![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Już od jakiegoś czasu próbuje rozwiązać mikroskopijny problem (który jest obecny w IPB, phpBB, ale np. allegro go nie ma), polegający na umieszczeniu domyślnej treści formularza wyświetlonej dokładnie w ten sam sposób, jak została wprowadzona. Mam na mysli wszystkie znaki specjalne, które użytkownik widzi w np. polu textarea. Aby to dokonać [powierzchownie] wystarczy zwykłe zastosowanie stripslashes i htmlspecialchars na treści przekazanej w formularzu i jakiś preg dla znaków specjalnych innych od <, >, &.
Ale... Wprowadzając znaki specjalne różne od <, >, & w postaci wizualnej, encji angielskiej i encji numerycznej pojawiają się problemy. Wstawiając do formularza np. znaczka « [lewy znak cytowania] np. poprzez kopiowanie, czy kombinacje alt+numerki, po wysłaniu zostanie on odczytany jako 8#171; [oczywiście &=8]. Jeżeli obok umieścimy encję wpisaną ręcznie: 8#171;, to zostanie ona również automatycznie zamieniona na znak specjalny, jedynie « zostanie wyświetlone dokładnie z oryginałem. Teraz do jeszcze raz powtórzę do czego zmierzam: Chcę, zobaczyć w okienku textarea dokładnie taką samą treść jaką wysłałem, na IPB, phpBB to nie działa w sposób 100%. Dowód: Wysyłam: « - 8laquo; 8#171; Otrzymuję: « - 8laquo; « lub « - « - « Chcę otrzymać: « - 8laquo; 8#171; Encja numeryczna zamieniana wyświetlana jest od razu jako znak specjalny. Encja angielska widoczna jest jako encja, ale w formularzu wyświetlana jest jako znak specjalny. Sami możecie sprawdzić na podglądzie. Czekam na dyskusję. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Przenosze z pr0 do php
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Wybacz za tak powierzchowną odpowiedź, ale czy próbowałeś htmlentities" title="Zobacz w manualu php" target="_manual ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nigdy z tej funkcji nie korzystałem, ale po sprawdzeniu ona nie rozwiąże tego problemu, a nawet nie ma podstaw najmeniejszych do rozwiązania tego problemu.
Wysyłając znak specjalny w postaci widocznej np. "Ť" zostaje on automatycznie zamieniony na encje numeryczną, więc wpisawszy gdzieś obok encję numeryczną skrypt nie indetyfikuje co jest co. Jak odkryłem w poprzednim poście nawet encja angielską sprawuje się 50/50%. Spróbuj wpisać tą treść: Ť - 8laquo; 8#171; gdzieś w IPB, a zobacz różnicę np. wpisując na allegro [kliknij rejestrację, wpisz te ogonki w imieniu, zmieniając 8 na &, zawtiwerź OK i masz po chwili w formie dokładnie to co wpisałeś]. Ten post edytował Krzychur 8.06.2006, 15:05:06 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 03:06 |