Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problemy z wycinaniem kodu
Forum PHP.pl > Forum > Przedszkole
dark_root
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ąć?
gox
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..
dark_root
Wszystko działa. A istnieje jakiś sposób na pozbycie się ' i " jeżeli ktoś wporowadzi takie znaki do zmiennej?
nospor
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 ''
dark_root
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?
erix
Bo przed i po apostrofie znajdują się spacje.
dark_root
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.
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.