Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problemy z wycinaniem kodu
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
  1. <?php
  2. $ruben=$_GET['l'];
  3. $tekst =htmlspecialchars($ruben, ENT_QUOTES);
  4. $temp = explode('=',$tekst);
  5. $zdanie = $temp[3];
  6. echo $zdanie;
  7. echo '<br />';
  8. $lech = substr($zdanie, 0, strpos($zdanie, ";var dle_skin"));
  9. echo $lech;
  10. ?>
W efekcie nadając zmiennej l pewną wartość, której element znajduje się między ' ' zostaje do niej dołączona \' przy obu stronach znaczników tzn. mając kod 'aasasas' wyświetli się \'aasasas\' . Jak tego uniknąć?

Ten post edytował dark_root 14.11.2008, 10:24:54
Go to the top of the page
+Quote Post
-gox-
post
Post #2





Goście







napsiklad tak:

  1. <?php
  2. $_REQUEST = ( 1 === get_magic_quotes_gpc()) ? array_map('stripslashes', $_REQUEST) : $_REQUEST;
  3. ?>


tylko ze array map nie wlazi chyba w wielowymiarowe tablice..
Go to the top of the page
+Quote Post
dark_root
post
Post #3





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

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


Wszystko działa. A istnieje jakiś sposób na pozbycie się ' i " jeżeli ktoś wporowadzi takie znaki do zmiennej?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
A istnieje jakiś sposób na pozbycie się ' i " jeżeli ktoś wporowadzi takie znaki do zmiennej?

http://pl.php.net/manual/pl/function.str-replace.php
i zamieniasz to czego nie chcesz na nic, czyli na pusty ciag ''


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





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

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


Teraz mój kod wygląda tak
Kod
<?php
$ruben=$_GET['l'];
$tekst =htmlspecialchars($ruben, ENT_QUOTES);
$temp = explode('=',$tekst);
$zdanie = $temp[3];
echo $zdanie;
echo '<br />';
$lech = substr($zdanie, 0, strpos($zdanie, ";var dle_skin"));
$wynik = str_replace(" ' ", "", $lech);
echo stripslashes($wynik);
?>

Jednak ' pozostaje nadal. Co jest źle?
Go to the top of the page
+Quote Post
erix
post
Post #6





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




Bo przed i po apostrofie znajdują się spacje.


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

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
dark_root
post
Post #7





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

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


bez spacji było tak samo. Dodałem tutaj spacje żeby było przejrzyściej. Zastanawiam się czy działałoby gdybym zamienił znak ' na szesnastkowy bo jak wstawię tam jakikolwiek inny znak to działa.

Ten post edytował dark_root 14.11.2008, 21:52:51
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: 19.08.2025 - 17:59