Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problemy z str_replace
dark_root
post
Post #1





Grupa: Zarejestrowani
Postów: 341
Pomógł: 1
Dołączył: 19.11.2007

Ostrzeżenie: (10%)
X----


Mam taki kod
Kod
$wynik = str_replace("'", "", $lech);
Jak widać chce usunąć ze zmiennej lech znaki ' jednak nie działa to gdyż ' gryzie się z ". Jak to zrobić żeby działało?
Go to the top of the page
+Quote Post
hiszpanespaniol
post
Post #2





Grupa: Zarejestrowani
Postów: 213
Pomógł: 39
Dołączył: 7.04.2008
Skąd: 3city

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


znak ucieczki dobra rzecz. poszukaj w google.


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





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Nie rozumiem - sprawdziłem ten kod u siebie i jest w porządku. Podaj może zawartość $lech - coś postaram się pomóc winksmiley.jpg
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zobacz, który rodzaj cudzysłowów parsuje zmienne wewnątrz, a który nie. ;P


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




  1. <?php
  2. str_replace(''', '', $lech);
  3. ?>


pamiętaj o tym.


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





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


~piotrooo89 a po co tak kombinować skoro kod:
  1. <?php
  2.  
  3. $wynik = str_replace("'", "", $lech);
  4.  
  5. ?>
jest OK?
Go to the top of the page
+Quote Post
piotrooo89
post
Post #7


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




można i tak. ale jakoś tak jestem do tego mojego przyzwyczajony. smile.gif


--------------------
Go to the top of the page
+Quote Post
pyro
post
Post #8





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(hiszpanespaniol @ 17.11.2008, 20:10:27 ) *
znak ucieczki dobra rzecz. poszukaj w google.


srry, ale jakiej ucieczki?

// edit

jakby kto jeszcze mial problemy ze zrozumieniem aluzji to patrz post nizej.

Ten post edytował pyro 17.11.2008, 21:38:48


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
mike
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(pyro @ 17.11.2008, 21:30:21 ) *
srry, ale jakiej ucieczki?
Zapraszszam do podstaw: string
Cytat
To specify a literal single quote, escape it with a backslash (\).

Stosowanie znaku "/" nazywa się ucieczką od cudzysłowów. Zarówno w polskiej nomenklaturze jak i angielskiej.
Go to the top of the page
+Quote Post
pyro
post
Post #10





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(mike @ 17.11.2008, 21:34:41 ) *
Zapraszszam do podstaw: string
Stosowanie znaku "/" nazywa się ucieczką od cudzysłowów. Zarówno w polskiej nomenklaturze jak i angielskiej.


...no comments

Myślałem, że każdy głupi się domyśli, że chodzi mi o to, że tam poprostu nie ma potrzeby używania znaków ucieczki.

Poza tym mike nie "/" (forwardslash) tylko "\" (backslash)

Ten post edytował pyro 18.11.2008, 19:59:57


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
megawebmaster
post
Post #11





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Ale chyba autorowi nie zależy na rozwiązaniu - coś cicho siedzi. Escapowanie cudzysłowów ważne jest przecież tylko przy przypisywaniu danych do zmiennej ($lech = 'cos tam \'w cudzyslowie\' zawarte';), a potem wyrzucenie cudzysłowów działa tamtym skryptem. Co prawda szybciej działa z apostrofami niż z cudzysłowami, ale to już kwestia szybkości i tego co kto lubi winksmiley.jpg
Go to the top of the page
+Quote Post
dark_root
post
Post #12





Grupa: Zarejestrowani
Postów: 341
Pomógł: 1
Dołączył: 19.11.2007

Ostrzeżenie: (10%)
X----


Nie było mnie kawałek, ale na rozwiązaniu mi zależy:P Na szczęście kod piotrooo89 działa bez zarzutu:p nie licząc sytuacji gdy zmienna lech ma wartość '0 wtedy wyskakuje mi ? ale ten problem poruszyłem w innym temacie.
P.S.
Piotrooo89 zmiana kodowaniu niestety nie pomogła:p
Go to the top of the page
+Quote Post
piotrooo89
post
Post #13


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




nie bardzo rozumiem o jakiej sytuacji mówisz.
mając tak:
  1. <?php
  2. $lech="'0";
  3.  
  4. str_replace("'", "", $lech);
  5. ?>


wszystko śmiga w najlepszym porządeczku.


--------------------
Go to the top of the page
+Quote Post
dark_root
post
Post #14





Grupa: Zarejestrowani
Postów: 341
Pomógł: 1
Dołączył: 19.11.2007

Ostrzeżenie: (10%)
X----


Mi to nie działa w tym kodzie
  1. <?php
  2. $ruben=$_GET['l'];
  3. $tekst =htmlspecialchars($ruben, ENT_QUOTES);
  4. $temp = explode('=',$tekst);
  5. $zdanie = $temp[2];
  6. $lech = substr($zdanie, 0, strpos($zdanie, ";xse"));
  7. $lala = str_replace("'", "", $lech);
  8. $wynik =str_replace("'", "", $lala);
  9. $a=stripslashes($wynik);
  10. $rub=$a;
  11. echo $a;
  12. ?>

Jeśli zmienna początkowa GET['l'] ma wartość np.saasas=asaaa='09890';xse to zmienna wynik wynosi '09890' i coś się dzieje nie tak bo końcowa zmienna a w tym przypadku wynosi 9890 a jakbym do tego kodu kodał
Kod
<input type=text value <? $a; ?>/>
wyświetliłoby się w polu tekstowym ?9890. Nie wiem czemu tak jest, ale u mnie tak wychodzi.

Ten post edytował dark_root 19.11.2008, 16:02:29
Go to the top of the page
+Quote Post
piotrooo89
post
Post #15


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




z może zrob tak jak trzeba:

  1. <input type="text" value="<?php echo $a; ?>"/>


--------------------
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: 22.08.2025 - 10:22