Сначала выведите схему (она, конечно, помещается в 2 МБ, нет?)
mysqldump -d --all-databases
и восстановление это.
Впоследствии дамп только данные в отдельных операторах вставки, таким образом, можно разделить файлы и восстановить их, не имея необходимость связывать их на удаленном сервере
mysqldump --all-databases --extended-insert=FALSE --no-create-info=TRUE
Не могли бы вы создать класс-оболочку, содержащий ссылку на экземпляр NSManagedObject, который вы хотите использовать в качестве ключа словаря? Затем вы можете заставить этот класс-оболочку реализовывать NSCopying вместе с хеш-методом (возможно, просто вызывая хеш-метод NSManagedObject) и использовать эту оболочку в качестве ключа словаря.
в двойных кавычках использование \ x00
каким-то образом вызывает ошибку синтаксического анализа.)
Перевод строки и возврат каретки (часто записываются \ r
и \ n
]) можно спасти от удаления следующим образом:
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);
Должен сказать, что я думаю Ответ Бобби лучше в том смысле, что [: cntrl:]
лучше передает что делает код, кроме [\ x00- \ x1F \ x7F]
.
ПРЕДУПРЕЖДЕНИЕ: ereg_replace
устарел в PHP> = 5.3.0 и удален в PHP> = 7.0.0 !, используйте preg_replace
вместо ereg_replace
:
preg_replace('/[[:cntrl:]]/', '', $input);
PHP поддерживает классы POSIX, поэтому вы можете используйте [: cntrl:]
вместо каких-то необычных символов-магий:
ereg_replace("[:cntrl:]", "", $pString);
Изменить:
В 5.3 может потребоваться пара дополнительных квадратных скобок.
ereg_replace("[[:cntrl:]]", "", $pString);
Если вы заменяете только знакомые мне управляющие символы (до 32 и 127), попробуйте следующее:
for($control = 0; $control < 32; $control++) {
$pString = str_replace(chr($control), "", $pString;
}
$pString = str_replace(chr(127), "", $pString;
Цикл избавляется от всего но DEL, который мы просто добавляем в конец.
Я думаю, это будет намного менее напряженно для вас и сценария, который будет иметь дело с регулярным выражением и библиотекой регулярных выражений.
Для удовольствия я придумал другой способ сделать это. Здесь используется массив управляющих символов:
$ctrls = range(chr(0), chr(31));
$ctrls[] = chr(127);
$clean_string = str_replace($ctrls, "", $string);