Как я могу добавитьlashes () к элементам многомерного массива? (РНР) - PullRequest
0 голосов
/ 18 мая 2011

У меня есть мультидимный массив из моего $ _POST, но я должен сериализовать (), а затем сохранить в базе данных ...

Обычно я могу сериализоваться, но у меня есть некоторые проблемы с косыми чертами (апостроф и двойные кавычки)).

Мой массив выглядит так: $ array ["hu"] ["category"] ["food"] = "string";

Но когда "string" содержит ""или '' вот дерьмо ...

Мне нужен какой-то короткий код для добавления слешей, но есть множество неправильных решений.

ps: я пользователь CodeIgniter.

// обновление:

function addslashesextended(&$arr_r) {
  if (is_array($arr_r)) {
    foreach ($arr_r as &$val){
      if( is_array($val) ){
        addslashesextended($val);
      }else{
        $val = addslashes($val); 
      }
    }
    unset($val);
  } else {
    $arr_r = addslashes($arr_r);
  }
}

Спасибо!

1 Ответ

2 голосов
/ 19 мая 2011

Я думаю, что лучшим решением было бы использование класса ввода codeigniter и класса активной записи.Удаляет / убегает, и за вас будет позаботиться самая общая дезинфекция.

http://codeigniter.com/user_guide/libraries/input.html http://codeigniter.com/user_guide/database/active_record.html

...