Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [PHP] преобразовать текст в массив 
:(
    Опции темы
Gold Dragon
Дата 11.6.2008, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



Есть одна программка, которая формирует отчёты вот в такой форме
user posted image

Как видно, форматирование сделано пробелами, абзацами и тире (руки оторвал бы за такое smile )
В итоге у меня должнен формироваться свой отчёт. А для этого мне нужно вытащить из этого данные и бросить их в массив примерно по такой структуре (шапка не нужна)
Цитата

Array
(
    [1] => Array
        (
            [0] => 
            [1] => 
            [...] => 
        )
    [2] => Array
        (
            [0] => 
            [1] => 
            [...] => 
        )
    [3] => Array
        (
            [0] => 
            [1] => 
            [...] => 
        )
    [4] => Array
        (
            [0] => 
            [1] => 
            [...] => 
        )
    [5] => Array
        (
            [0] => 
            [1] => 
            [...] => 
        )
    [R] =>
    [W] =>
)

файлик прикрепляю

Это сообщение отредактировал(а) Gold Dragon - 11.6.2008, 10:21

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  02.txt 0,96 Kb


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 11.6.2008, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: нет
Всего: 32



Это в "Центр помощи" вопрос?


Это сообщение отредактировал(а) Feldmarschall - 11.6.2008, 10:32
PM   Вверх
Gold Dragon
Дата 11.6.2008, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



да я то не против... главное чтобы помогли.....   а это где? smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 11.6.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



ну надеюсь хоть тут помогут и никуда не перенесут  smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
skyboy
Дата 11.6.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



поясни подробнее, в чем проблема? прочитать файл? разбить на строки? выбрать только тот блок, который с цифрами? разбить каждую строку по пробелам и тире? или записать результат в БД/файл?
PM MAIL   Вверх
Gold Dragon
Дата 11.6.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



проблема в том что я не умею работать с регулярными...

В общем если полностью, то...

- есть файлы типа
   01.txt
   02.txt
   03.txt
   и так далее

- мне нужно по очереди обработать все эти файлы, т.е. привести в понятный вид и сформировать один отчётный документ

- а данные должны преобраховаться в такой вид
Цитата

Array
(
    [1] => Array
  (
    [0] => 73,4
    [1] => 61,1
    [2] => 73,14
    [3] => -
    [4] => 77,7
    [5] => 11,74
    [6] => 61,4
    [7] => 0,299999999999999
    [8] => 0,002231
)
    [2] => Array
  (
    [0] => 84,7
    [1] => 56,8
    [2] => 84,69
    [3] => -
    [4] => 80,7
    [5] => 14,72
    [6] => 70,0
    [7] => 13,17
    [8] => 0,056910
)
    [3] => Array
  (
    [0] => 93,3
    [1] => 56,7
    [2] => 93,3
    [3] => -
    [4] => 84,5
    [5] => 23,52
    [6] => 69,8
    [7] => 13,08
    [8] => 0,125958
)
    [4] => Array
  (
    [0] => 91,1
    [1] => 54,8
    [2] => 91,1
    [3] => -
    [4] => 85,6
    [5] => 29,6
    [6] => 61,5
    [7] => 6,7
    [8] => 0,156473
)
    [5] => Array
  (
    [0] => 82,3
    [1] => 54,2
    [2] => 82,29
    [3] => -
    [4] => 83,1
    [5] => 30,08
    [6] => 52,2
    [7] => -1,99
    [8] => 0,073946
)
    [R] => 0,415518
    [W] => 0,97101
)




фыжджфлйщзл


Это сообщение отредактировал(а) Gold Dragon - 11.6.2008, 13:59


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 17.6.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



поднимаю тему. вопрос остаётся не решённым


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
bobik02
Дата 17.6.2008, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 3
Всего: 14



Вот я тоже с регулярными выражениями не особо .

Но эту задачу вполне можно решить с помощью строковых функций.

А чем собсвенно затруднения ? 


--------------------
Have a nice day
PM   Вверх
Gold Dragon
Дата 7.8.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



я совсем потерял эту тему посли того как её перенесли... а в "Мои новые сообщения" она не находится почемуто...


Проблема в том что количество пробелов всегда разное. 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
bars80080
Дата 7.8.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 8
Всего: 315



ну, если бы вообще было по разному, то это был бы не читаемый текст.

explode() вкупе strstr() переборют всё, хотя и геморно, будет мощная портянка, которая даже мысленно пугает


PM MAIL WWW   Вверх
Mal Hack
Дата 7.8.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 4
Всего: 261



Gold Dragon, сделай проще. Читай файл через file. Пото откиджывай не нужные строки (шапку, низ).
По полученному массиву делай банальный цикл по каждой строке.
Ну и или str_replace двойной пробел на одинарный, а потом explode, или split с регуляркой "\s+".
PM ICQ   Вверх
Gold Dragon
Дата 12.8.2008, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



Mal Hack, а это заменяется двойной пробел на один или последовательность пробелов?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0796 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.