|
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 67
|
|
Разбивка текста на куски по 4кб07.07.2006, 23:02. Показов 3730. Ответов 11
Метки нет (Все метки)
есть такая на первый взгляд простая задачка...
есть тупо текст... мне его нужно разбить на куски по 4 kb, при этом текст UTF-8 как русский, так и англ., китайский, немецкий, албанский... разбить нужно так чтоб или заканчивалось на предложении, или на пробеле.. кроче, чтоб не разбивало слово на куски... ещё дополнительно этот текст нужно проставить (заменить ) теги , все абзацы заключить в <p> .... в начало каждого куска вставляеться тег <title>тут какое-то название</title>.... напоминаю, что 1 кусок вот такого тескта не должен быть больше 4 кб. ... помогите плз советом, кодом... хоть чем нибудь ))) p.s. исспользую функции mb_*** но что-то с ними к "красивому", "логичному" коду ещё не пришёл... help plz!!! ^-)
0
|
|
| 07.07.2006, 23:02 | |
|
Ответы с готовыми решениями:
11
Разбивка файла на куски и склейка Дробление текста на куски, куски в переменные Деление текста на куски |
|
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 148
|
|
| 13.07.2006, 17:14 | |
|
подскажу алгорит а дальше думай сам
1кб - 1028бай, 1байт = 1 символу если тебе надо взять 4кб тобиш надо взять 4112 симовла теперь на помощь прийдет substr выризаем из текста кусок substr($text,$sim,4112); теперь пользуемся $d_p=strrpos() узнаем где же есть пробел или точка. теперь ты получил длину нужной строки а сому строку получаем так substr($text,$sim,$d_p); теперь премещаем позицию откуда читать $sim=$d_p+$sim; и все это в цыкле покак $sim != strlen ($text); Ну надеюсь мысль уловил
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|||
| 13.07.2006, 17:48 | |||
![]()
0
|
|||
|
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 148
|
||
| 13.07.2006, 19:17 | ||
0
|
||
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
||
| 13.07.2006, 19:29 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 148
|
|
| 13.07.2006, 20:35 | |
|
у меня скрипт качает фаилы (любые) также позволяетр разбивать их на куски и позволяет закачивать тока определеную часть определеного размера.
Так вот размер проверяю так $buf.=fread($fp,1048); //читаем файл if (strlen($buf) <= $partsize){} else break; //$partsize необходимый размер И все работает идеально в не зависемости на каком языке фаил
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 13.07.2006, 20:41 | |
|
Это потому, что здесь ты работаешь на уровне набора байтов.
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 13.07.2006, 20:45 | |
|
Но если ты таким кодом попытаешься, например, получить часть XML документа в кодировке UTF-8, который содержит русский текст, то существует большая вероятность потерять часть текста так как разрыв может попасть между двумя байтам необходимыми для представления буквы русского алфавита. Пока же ты работаешь с файлом как с набором байтов такой опасности нет.
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 148
|
|
| 13.07.2006, 22:01 | |
|
а как надо чтобы не было разрыва?
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 13.07.2006, 22:31 | |
|
Как это сделать средствами PHP я не знаю. Могу привести в пример .NET Framework. Там для чтения текста из файла требуется явно указать его кодировку. Вообще, чтобы гарантированно прочесть часть текста из файла/строки в многобайтовой кодировке нужно всегда начинать чтение с начала и механимз чтения должен понимать разницу между байтами и символами.
Ну или надо читать файл целиком как набор байтов. В этом случае никогда проблем не будет.
0
|
|
|
7 / 8 / 6
Регистрация: 11.05.2008
Сообщений: 876
|
|
| 15.07.2006, 01:45 | |
|
Bazile,
библиотека mbstring подойдет. Она разницу понимает
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
||
| 15.07.2006, 13:50 | ||
0
|
||
| 15.07.2006, 13:50 | |
|
Помогаю со студенческими работами здесь
12
Как вытащить определенные куски текста из поля? Повытаскивать куски текста из txt и сохранить из в разные файлы!
Пронумеровать (с интервалом 1000) куски определенного текста в файле txt пропарсить строки и вытащить куски текста которые подходят под шаблон Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|