Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Переносы через определенное количество символов
Покинул форум
Сообщений всего: 25
Дата рег-ции: Июль 2010
Помог: 0 раз(а)
Здравствуйте, есть много текстовых файлов, в которых много строк длиной ~1000 символов, нужен такой скрипт, который бы во всех файлах пробежался по строкам и вставил перенос (\r\n) через 70 символов в строке.
Stivir
Отправлено: 20 Сентября, 2012 - 16:33:30
Частый гость
Покинул форум
Сообщений всего: 128
Дата рег-ции: Май 2012
поставил заглушки там где @file_get_contents и @file_put_contents из-за Warning
failed to open stream: Permission denied in D:\
не разобрался почему они появляются, но и без заглушек все работает.)
Мелкий
Отправлено: 20 Сентября, 2012 - 16:40:01
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Stivir пишет:
failed to open stream
Stivir пишет:
все работает
Взаимоисключающие параграфы.
----- PostgreSQL DBA
DelphinPRO
Отправлено: 20 Сентября, 2012 - 16:41:10
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Stivir пишет:
не разобрался почему они появляются, но и без заглушек все работает.)
нужно исключить из массива файлов каталоги. Их нельзя прочитать в переменнуюю
или проверять файл перед чтением функцией is_file()
т.е.
(Добавление)
кстати, это проверка
if($arrFiles)
тоже бессмысленна, т.к. возвращаемый массив, как минимум будет содержать элемент '.' - текущий каталог.
ошибка возможна в случае, если $dir не является каталогом, поэтому проверку разумнее делать выше
поставил заглушки там где @file_get_contents и @file_put_contents из-за Warning
failed to open stream: Permission denied in D:\
не разобрался почему они появляются, но и без заглушек все работает.)
Cпасибо, но этот вариант мне не подошел по причине того, что разрыв происходит строго через 70 символов, таким образом разрывается много слов и появляется лишний пробел. Но чисто случайно наткнулся на функцию wordwrap(). Оказывается не надо ничего городить, есть уже такая функция. Самое интересное, что она по умолчанию не режет слова.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.