|
|
|
|
|
для: dalex
(06.03.2013 в 11:16)
| | работало и без корректировки, просто надо было брать элемент массива $out[1]
хотя если так, как Вы написали, то должно ошибку выдавать | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.03.2013 в 23:53)
| | Спасибо
Сработало с маленькой корректировкой
$pattern = "\b(?:[^\s])([A-Z]{0,2}\w+\.?\w+)";
|
| |
|
|
|
|
|
|
|
для: dalex
(05.03.2013 в 18:33)
| | попробуйте так
<?php
$pattern = "#\b(?:\s)([A-Z]{0,2}\w+\.?\w+)(?:\s?)#s";
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(05.03.2013 в 18:08)
| | >в этом случае
>AD AD55.0237 = 55.237
>
<?php
>// От 0 до 2 заглавных букв, за которыми идут две цифры, потом сразу "точка", за которой четыре цифры
>$pattern = "#([A-Z]{0,2}\d{2}\.\d{4})#s";
>?>
|
>но это не сработает для остальных, а Вам надо описать все варианты в одном выражении
Я хочу получить универсальное РВ, которое отбросит первую часть до пробела, включая пробел и будет работать для
AE AE135135
AE AEJLKHLHK
BP 532FDFDF/0.25 и тд
Спасибо | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.03.2013 в 18:08)
| | 1 В цикле Каждую строку разбиваем на поля (К моему вопросу не относится), для ясности
"AE";"AE 20760 STD";"Поршень";315.2
$brand="AE";
$artikul="AE 20760 STD";
$deskr="Поршень";
$price=315.2;
2 обрабатываем значение $artikul="AE 20760 STD";, так что бы $artikul был равен
$artikul="20760 STD"
3 пишем в базу 'insert into table (.....) values ( $brand, $artikul, $deskr,$price)'
Берем другую строку
"Adriauto";"AD 55.0242 = 55.242";"Трос";11.34 , разбиваем на поля
$brand="Adriauto";
$artikul="AD 55.0242 = 55.242";
$deskr="Трос";
$price=11.34;
обрабатываем значение $artikul="AD 55.0242 = 55.242"; приводя к виду
$artikul="55.0242"
пишем в базу
и тд | |
|
|
|
|
|
|
|
для: dalex
(05.03.2013 в 17:23)
| | Вы действительно не читаете вопросы...
Повторяю, что конкретно Вам надо получить из каждой строки?
"AE";"AE 20760 STD";"Поршень";315.2 - что???
"AE";"AE 21776 1.00MM";"Поршень";339.07 - что???
"Adriauto";"AD 55.0236";"Трос";8.70 - что???
"Adriauto";"AD 55.0242 = 55.242";"Трос";11.34 - что???
в этом случае
AD AD55.0237 = 55.237
<?php
// От 0 до 2 заглавных букв, за которыми идут две цифры, потом сразу "точка", за которой четыре цифры
$pattern = "#([A-Z]{0,2}\d{2}\.\d{4})#s";
?>
|
но это не сработает для остальных, а Вам надо описать все варианты в одном выражении | |
|
|
|
|
|
|
|
для: Slo_Nik
(05.03.2013 в 17:22)
| | Строка разбивается на поля
"AE"; - производитель
"AE 20760 STD"; - артикул
"Поршень"; - описание
315.23 - цена
Обрабатывается только содержимое одного поля AE 20760 STD - артикул
С него нужно получить 20760 STD | |
|
|
|
|
|
|
|
для: dalex
(05.03.2013 в 17:15)
| | Для выражения
AD 55.0237 = 55.237
Хорошо подходит ([^AD ][a-zA-Z0-9\.]+), но если встречается комбинация AD AD55.0237 = 55.237, то
съест AD AD, что есть не верно | |
|
|
|
|
|
|
|
для: dalex
(05.03.2013 в 17:15)
| | ну наконец то)))
теперь точно опишите, что Вам надо получать, какой именно участок строки? | |
|
|
|
|
 2 Кб |
|
|
для: Slo_Nik
(05.03.2013 в 16:18)
| | Вот небольшой пример | |
|
|
|
|