Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] serialize i slashe
Forum PHP.pl > Forum > Przedszkole
misiek172
Witam.

Mam dziwny problem...

Muszę dodać do bazy zserializowana tablice i żeby w tej tablicy były slashe.

Więc standardowo użyłem polecenia przed serializacją addslashes .
Lecz bardzo dziwną sprawą jest to że mi serialize w wyrazie c\"c\"c policzyło aż 11 znaków! A jest ich 7. Więc myślałem że to jakiś bug addslashes więc użyłem
  1. <?php
  2. ?>
. w tym przypadku wyliczył mi ich 9. Wie ktoś może o co chodzi? :|

Pozdrawiam i z góry dziękuje, Łukasz.

edit:
zanim dodałem do serialize to najpierw zmierzyłem poleceniem strlen długość i wywala te 11... czemu tak?

edit:
próbowałem już wklepywac + i zamieiać potem na " i zawsze liczy tylko źle jak zamieniam stirngi, próbowałem str_replace, ereg_replace, explode i wiele innych i zawsze źle liczy... tylko czasami myli sie o 2 czasami o 4 znaki w zależności od metody zamiany... normalnie czary!! David Coperfield blinksmiley.gif

POMOCY!
Kicok
  1. <?php
  2. $wyraz = 'c"c"c';
  3. echo($wyraz); // c"c"c  (7 znaków)
  4.  
  5. $wyraz2 = addslashes($wyraz);
  6. echo($wyraz2); // c"c"c  (11 znaków)
  7.  
  8. $wyraz3 = str_replace('', '', $wyraz);
  9. echo($wyraz3); // c"c"c  (9 znaków)
  10. ?>


To są te czary?
misiek172
nierozumiesz...

robi mi sie coś takiego:

  1. <?php
  2. $wyraz = 'a"a"a'; // 5 znaków
  3. $wyraz = addslashes($wyraz); // a"a"a - 11 znaków według php a jest 7
  4. ?>


poradziłem sobie z tym w ten sposób, że przed wysłaniem formularza kazałem dodać slasze przez JavaScript i wtedy php dobrze pokazuje wartość strlen bo jak dodawałem przez php slashe to źle liczył ilość znaków.

Ok juz wiem o co chodzi zrozumiałem co chciałem powiedzieć... poprostu addslashes dodaje aż 2 slashe ponieważ tylko 1 jest wyswietlany, można zamknąć topic.
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.