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
6
14
4
98
35
58,6
BFP;
0,00;
1 859
отдельно значения для редактирования уже на самом сайте и для фильтра
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);