Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список с помощью регулярной выражении 
V
    Опции темы
Serebrus
Дата 16.12.2010, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

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



Доброе время дня всем.
Имеется текстовый файл. Внутри его все записи расположены как в таблице (т.е. структура данных как в таблице). Надо создать массив с помощью регуларной выражении, точнее, элементы этого массива должны удовлетворять условие регулярной выражении.
Пробую функцию preg_match_all():
Код

preg_match_all('/\d{20}/', $cont, $mas, PREG_SET_ORDER);

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

Спасибо заранее.
PM MAIL   Вверх
enoff
Дата 16.12.2010, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 13



Что за таблица? Пример можно?
PM MAIL ICQ Skype GTalk   Вверх
Serebrus
Дата 17.12.2010, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

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



Просто текст в виде таблицы, вот пример:
_______________________________________________
№ |       Ф.И.О    | Дата регист |                    Код                |
_______________________________________________
1. | Иванов И.И.    | 12.11.2010  | 12345678998765432101
2. | Петров П.П.    | 12.09.2010  | 12345678998765432102
3. | Гупкин Г.Г.      | 25.04.2010  | 12345678998765432103
4. | Алексеев И.И. | 11.10.2010  | 12345678998765432104
5. | Лисунов И.И.   | 02.02.2010  | 12345678998765432105
..................

мне надо составить массив из последнего столбца
PM MAIL   Вверх
patap
Дата 17.12.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



что именно в массиве лишнее? по идее все должно работать


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Serebrus
Дата 17.12.2010, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

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



В самом файле всего 245 строк, а в результате 490 (в массив 490 элементов). Видимо элементы повторяются, но как? Это мне и секрет.
PM MAIL   Вверх
patap
Дата 17.12.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



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


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Serebrus
Дата 17.12.2010, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

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



Код

<?php
Error_Reporting(E_ALL & ~E_NOTICE);
if(!is_null($_FILES['filname']['name']))
{
 $file_path='uploads/'.$_FILES["filname"]["name"];
 $tmpname=$_FILES['filname']['tmp_name'];
 move_uploaded_file($tmpname,$file_path);
 $cont=file_get_contents($file_path);
 preg_match_all('/\d{'.$_POST['dc'].'}/', $cont, $mas, PREG_SET_ORDER);
 for($i=1; $i<=count($mas); $i++)
 {
  echo $mas[$i-1][0]."</br>";
 }
}
?>


Это сообщение отредактировал(а) Serebrus - 17.12.2010, 13:25
PM MAIL   Вверх
patap
Дата 17.12.2010, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



может в $_POST['dc'] передается не 20, а число как минимум меньше 20 в два раза?



или в массиве находятся правильные ид, состоящие из 20 символов, только дублируются?

Это сообщение отредактировал(а) patap - 17.12.2010, 13:33


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Serebrus
Дата 17.12.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

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



Я в $_POST['dc'] точно передаю 20, а так скрипт же правильный верно?
PM MAIL   Вверх
patap
Дата 17.12.2010, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



да вроде все верно... в регулярке проблем точно нет.
ты в сруктуре файла уверен? он действительно выглядит так как ты показал?

является результат правильным, но продублированным?


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Serebrus
Дата 17.12.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

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



Я извиняюсь, не обратил внимание, в низу еще одного столбца файла, оказывается хронятся 20 значные цифры.
Всем спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




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


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

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