Я отлаживаю модуль Drupal (этот модуль, webform_import, импортирует CSV-данные в базу данных) и получает некоторый непечатаемый символ, вызывающий ошибку в модуле. Вот моя отладка коданепечатаемые символы в строке - php
if($v == 'semester'){
dpm('found ' . $v);
}
else
{
dpm('not found ' . $v);
dpm(str_split($v));
}
dpm($v);
переменная $ v передается через следующую функцию
function _webform_import_csvfieldtrim($value) {
$value = trim($value);
// Strip off the beginning and ending quotes if necessary.
$value = preg_replace('/^".*"$/', '', $value);
// Remove control characters. Some editors add invalid EOL chars.
// fgetcsv does not handle unicode characters therefore we replace them
// manually. See http://bugs.php.net/bug.php?id=31632.
$value = str_replace('\x00..\x1F\xfe\xff', '', $value);
//$value = str_replace('/[\x00-\x1F\x80-\xFF]/', '', $value);
return $value;
}
Согласно выводу, $ V печатает ' semester ', но не равен строковому семестру, а при преобразовании в массив - 11 символов вместо 8. Пожалуйста, дайте мне знать, если что-то не так с функцией _webform_import_csvfieldtrim. Кроме того, я преобразовал кодировку CSV-файла в UTF-8.
спасибо.