![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam pytanie do osób używających rozszerzenia XMLWriter. Mam problem, przy użyciu metody:
wynik jest prosty: Kod <seg>jakiś ciąg z 'apostrofem'</seg> Chcę do tego użyć htmlspecialchars:
wynik jest zaskakujący dla mnie: Kod <seg>jakiś ciąg z &quot;apostrofem&quot;</seg> Nie mam pojęcia, dlaczego tak się dzieje... Co tu jest nie tak? Czy może ja czegoś nie rozumiem? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Funkcja htmlspecialchars z flagą ENT_QUOTES zamienia Ci ' (apostrof) na & # 039 ; (oczywiście bez spacji). Do tego dochodzi zamiana & z nowego ciągu na $ apm ; i stad Twój problem.
Napisz co chcesz uzyskać, ponieważ może nie tędy droga (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeśli nie chcesz mieć problemów z niektórymi znakami (znaczniki HTML, cudzysłów, apostrof, itp), zamykaj tekst w sekcji CDATA. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zgadza, się, nie na " tylko na ' - mój błąd. Wszystko jest jasne, tylko nie mogę zrozumieć, dlaczego & jest zmieniane na & - wygląda to jak podwójne użycie tej funkcji. Normalnie
zwróci Kod ' natomiast używając tego w xmlWriter zamienia na ' po czym & zamienia jeszcze na & (ostatecznie ciąg wygląda: &#039;) co moim zdaniem nie powinno się dziać...
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Zamiast htmlspecialchars użyj CDATA (są do tego funkcje w XMLWriter) i będzie wszystko działać.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:44 |