|
|
|
| Имеется прайс поставщика товара. Проблема в том, что один и тот товар у разных поставщиков идет под разным кодом, который отличается от кода который маркируется производителем и который мне требуется:
У одного поставщика все кода в таком виде:
1423-MR
1512-MR н-р
3508-8L-MR белая
А мне трубуется чтоб они были после перестановки в таком виде:
MR-1423
MR-1512
MR-3508-8L
Тоесть переставить MR с - наперед цыфр и все лишние слова руские убрать
У другого поставщика эти кода могут идти так:
MR 3511-14S
MR, 1204-24 New
MR. 10025-07
Здесь требуется сделать так:
MR-3511-14S
MR- 1204-24 New
MR- 10025-07
Тоесть поставить - , убрать где надо точку и убрать где надо запятую
Подскажите пожалуйста как правильно это сделать для этих двух поставщиков (как назло ни у одного коды товара не написаны полностью правильно) | |
|
|
|
|
|
|
|
для: mukola2
(15.06.2014 в 16:50)
| | навскидку набросал, развивайте
<?php
$re = '/^MR\D*(\d+)(?:(-\d+(?:[A-Z]+)?\s*\w+)$)?|(\d+)(?:(-\d+(?:[A-Z]+)?))?-MR.*$/m';
$str = "1423-MR\n1512-MR н-р\n3508-8L-MR белая\nMR 3511-14S\nMR, 1204-24 New\nMR. 10025-07";
$subst = 'MR-$1$3$2$4';
$result = preg_replace($re, $subst, $str);
|
Результат будет такой
MR-1423
MR-1512
MR-3508-8L
MR-3511-14S
MR-1204-24 New
MR-10025-07
|
а поповоду сходства двух ид можно попробовать найти сходство с помощью similar_text | |
|
|
|