Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с символом конца строки

2.1K
10 августа 2005 года
ksicom
38 / / 11.09.2003
Есть такой участок кода

// Берём первое слово первой строки (отделено табом)
$start_time = strtok($prog_body, " ");
$sort_id = 1;
// Пока есть слова
while($start_time)
{
$name = strtok(" ");
$org_name = strtok(" ");
$b_line = strtok(" ");
$synopsis = strtok(" ");
$cast = strtok(" ");
$director = strtok("\n");
$query = "insert into tv_prog (date, chanel_id, start_time,
name, org_name, b_line, synopsis,
cast, director, enabled, sort_id)
values('$day_date', '$chanel', '$start_time', '$name',
'$org_name', '$b_line', '$synopsis', '$cast',
'$director', 'Y', '$sort_id')";
$result = mysql_query($query);

$sort_id = $sort_id + 1;
$start_time = strtok(" ");
}
...
ну и т. д. дальше не важно

этот код делает следующее

в форму в textarea забивается текст по следующему формату:
aaa<tab>bbb<tab>ccc<tab><следующая строка>
aaa<tab>bbb<tab>ccc<tab><следующая строка>
aaa<tab>bbb<tab>ccc<tab><следующая строка>
и т. д.
Программа распарсивает этот текст и раскидывает по таблице в базе данных.
Так вот в чём проблема:
в поле director в конце каждый раз (кроме последней строки) присутствует лишний символ(жирная вертикальная чёрточка :) ).
как я понимаю, это из-за того что под виндой(клиент IE) и под linuxом (apache) по разному записывается символ перевода строки. Пробовал как в C в качестве разделителя \r\n (а также \n\r) задать, но не помогло. Можно от этого символа как-нибудь просто избавиться?
1.9K
10 августа 2005 года
Ananim
156 / / 15.05.2005
Цитата:
Originally posted by ksicom
Есть такой участок кода

// Берём первое слово первой строки (отделено табом)
$start_time = strtok($prog_body, " ");
$sort_id = 1;
// Пока есть слова
while($start_time)
{
$name = strtok(" ");
$org_name = strtok(" ");
$b_line = strtok(" ");
$synopsis = strtok(" ");
$cast = strtok(" ");
$director = strtok("\n");
$query = "insert into tv_prog (date, chanel_id, start_time,
name, org_name, b_line, synopsis,
cast, director, enabled, sort_id)
values('$day_date', '$chanel', '$start_time', '$name',
'$org_name', '$b_line', '$synopsis', '$cast',
'$director', 'Y', '$sort_id')";
$result = mysql_query($query);

$sort_id = $sort_id + 1;
$start_time = strtok(" ");
}
...
ну и т. д. дальше не важно

этот код делает следующее

в форму в textarea забивается текст по следующему формату:
aaa<tab>bbb<tab>ccc<tab><следующая строка>
aaa<tab>bbb<tab>ccc<tab><следующая строка>
aaa<tab>bbb<tab>ccc<tab><следующая строка>
и т. д.
Программа распарсивает этот текст и раскидывает по таблице в базе данных.
Так вот в чём проблема:
в поле director в конце каждый раз (кроме последней строки) присутствует лишний символ(жирная вертикальная чёрточка :) ).
как я понимаю, это из-за того что под виндой(клиент IE) и под linuxом (apache) по разному записывается символ перевода строки. Пробовал как в C в качестве разделителя \r\n (а также \n\r) задать, но не помогло. Можно от этого символа как-нибудь просто избавиться?


попробуй \\n .

8.8K
11 августа 2005 года
viktor_root
58 / / 10.08.2005
взять квери и отрезать у него '|'X)-
2.1K
11 августа 2005 года
ksicom
38 / / 11.09.2003
неа, \\n не помогло :(
вообще в разнос идёт, где-то две чёрточки, где-то вообще конца строки не видит...
2.1K
11 августа 2005 года
ksicom
38 / / 11.09.2003
Всё, проблема решена

Добавил:
$director = str_replace("\r", "", $director);

Всем спасибо
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог