Mam taką pętlę, która jest gdzieś w kodzie:
Wszystko działa super. Dodaje ukośniki i w przypadku JS zamienia na encję. Tablica na której to testuje to:
foreach($tab as $key => $wart) { }
Po print_r (bezpośrednio w kodzie) dostaję:
$tab = array('imie' => "Te'st" , 'nazwisko' => 'Nowak' , 'skrypt' => '<script>alert(123);</script>');
Jednak kiedy zapiszę to jako funkcję, to htmlspecialchars nie działa:
to print_r pokazuje mi:
function Tabliczka($tablica) { foreach($tablica as $key => $wart) { return $tablica; } } $tab = Tabliczka($tab);
Czyli dodaje slasha, ale htmlspecialchars nie działa. Nawet jeśli przekażę przez referencję:
I zrobię print_r:
function Tabliczka(&$tablica) { foreach($tablica as $key => $wart) { return $tablica; } } $tab = Tabliczka($tab);
To sytuacja się powtarza co wcześniej.
Jak to rozwiązać?