[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_match
AndreyChaki
начал делать загрузку CSV для сайта. добрался до разбора строк, составил регулярное выражение, но в базу пишет одни нули, ошибки не вижу. может ткнете носом?
preg_match("/[^\\s]+[\\s]+([^\\d]+)[\\s]+([\\d]+)x([\\d^\\s]+)[\\s]+([\\d]+)x([\\d^\\s]+)[^\\s]*[\\s]+[ET]([\\d]+)[^\\s]*[\\s]([\\d]+)([a-zA-Z]+)[\\s]+(.*)/is",
$line[1],$lineElements);


и сама строка для разбора
Автодиск NL1076 6x14 4x98 ET32 58 BFP



Спустя 2 минуты, 6 секунд (31.01.2012 - 10:22) Winston написал(а):
Что ты ожидаешь получить в $lineElements?

Спустя 19 минут, 13 секунд (31.01.2012 - 10:41) T1grOK написал(а):
Не пойму зачем в данном случае использовать регулярки. По моему без регулярок проще разобрать и гораздо быстрее, чем перелопачивание нехилым правилом в регулярке.

Спустя 58 минут, 10 секунд (31.01.2012 - 11:39) AndreyChaki написал(а):
дело в том что это 1 яч из стоки таблицы
41003142;Автодиск NL1144 6x14 4x98 ET35 58,6 BFP;0,00;1 859

из этого мне нужно в БД писать:
41003142;
NL1144
6
14
4
98
35
58,6
BFP;
0,00;
1 859

отдельно значения для редактирования уже на самом сайте и для фильтра

Спустя 3 минуты, 13 секунд (31.01.2012 - 11:43) Winston написал(а):
$str = '41003142;Автодиск NL1144 6x14 4x98 ET35 58,6 BFP;0,00;1 859';
$expl = preg_split('#[x; ]#', $str);
echo '<pre>'.(print_r($expl, 1)).'</pre>';

Спустя 52 минуты, 49 секунд (31.01.2012 - 12:35) AndreyChaki написал(а):
мне все же нужно использовать регулярку, подскажите именно по ней?

Спустя 2 минуты, 11 секунд (31.01.2012 - 12:38) Winston написал(а):
У меня тоже регулярка, только не выбирает, а разбивает по шаблону.

Спустя 28 минут, 55 секунд (31.01.2012 - 13:07) AndreyChaki написал(а):
проблема в том что я не знаю как ее прикрутить. как именно заменить кусок кода. так как делаю по примеру но строки разные,

Спустя 26 минут, 46 секунд (31.01.2012 - 13:33) Winston написал(а):
Ну если уж так хочешь регуляркой, то напиши так
preg_match('#([^;]+;\b)\s*([^ ]+)\s*([^ ]+)\s*(\d)x(\d+)\s*(\d)x(\d+)\s*ET(\d+)\s*([\d,]+)\s*([a-z;]+)\s*([\d,]+);\s*([\d ]+)#i', $line[1], $lineElements);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.