Last Updated 11 months ago
AAaa Wyrażenia regularne (regex) w PrestaShop Importer - przykłady
Wyrażenia regularne (regex) to ogromny potencjał wspierający obróbkę dowolnych, krótki i długich treści. Raz opanowane przydadzą Ci się w wielu sytuacjach w życiu.
- Moduł PrestaShop Importer obsługuje wyrażenia regularne.
- Dzięki wyrażeniom regularnym możesz modyfikować lub obrabiać dane w pliku do dowolnych potrzeb, zanim te trafią do Twojego sklepu.
- Wyrażenia regularne możesz stosować na niemal każdym polu, które chcesz importować lub aktualizować z XML, CSV lub API do PrestaShop.
Poniżej zamieszczamy listę przykładowych problemów do rozwiązania z treściami, jakie znajdują się w feedach produktowych. Podajemy również gotowe wyrażenia regularne, za pomocą których zmodyfikujesz treści lub pobierzesz z nich tylko określone fragmenty.
---------------------
Przykład 1
Treść w pliku:
Pojemność: 4400 mAh;Napięcie: 10.8V (11.1V);Ilość ogniw: 6;Rodzaj ogniw: Li-Ion;Gwarancja: 12 miesięcy;Producent ogniw: Green Cell;Kolor: Czarny;Zabezpieczenie przed głębokim rozładowaniem: Tak;Zabezpieczenie przed przeładowaniem: Tak;Kod produktu: HP01;Producent: Green Cell;Wymiary: 205x52x21mm;Waga: 300g ;Lista kompatybilności: ;Zastępuje modele
Problem:
Do krótkiego opisu chce dać wszystko co jest przed tekstem ";lista kompatybilności"
Rozwiązanie:
Wyrażenie regularne:
/^(.+);Lista kompatybilności/
Zamiennik:
$1
---------------------
Przykład 2
Treść w pliku:
CZUJNIK TEMPERATURY SPALIN OPEL ASTRA H 1.3CDTI 2005-,CORSA C 1.3CDTI 2005-,MERIVA 1.3CDTI 2003-/OWALNY-ZA FILTREM CZĄSTEK STAŁYCH/
Problem:
Nazwa produktu jest zbyt długa, należy ją skrócić do maks 120 znaków tak aby uciąć wyrazu na końcu pobranego tekstu.
Rozwiązanie:
Wyrażenie regularne:
/(^.{0,120}($|[\s]+)).*/
Zamiennik:
$1
---------------------
Przykład 3
Treść w pliku:
Problem:
Cechy są podawane według schematu:
Nazwa: wartość
w jaki sposób pobrać tylko nazwę cechy?
Rozwiązanie:
Wyrażenie regularne:
/^([^:]+)+\s*:\s*(.+)$/
Zamiennik:
$1
---------------------
Przykład 4
Treść w pliku:
1,00
Problem:
Ilość dostępna w magazynie jest podana jako liczba zmiennoprzecinkowa zamiast liczby całkowitej.
W jaki sposób usunąć zbędne znaki tj, przecinek i cyfry po nim?
Rozwiązanie:
Wyrażenie regularne:
/,[0-9]+$/
Zamiennik:
pole należy zostawić puste
---------------------
Przykład 5
Treść w pliku:
Maszynka do mielenia mięsa Tefal NE113135
Problem:
Chciałbym zrobić tagi oddzielone przecinkiem z nazwy produktu.
W jaki sposób zamienić spacje między wyrazami na przecinki?
Rozwiązanie:
Wyrażenie regularne:
/\s/
Zamiennik:
,
---------------------
Przykład 6
Treść w pliku:
12,435345
12.56456
Problem:
W jaki sposób ograniczyć importowaną liczbę do maks dwóch miejsc po przecinku?
Rozwiązanie:
Wyrażenie regularne:
/^([0-9]+[,.]{1}[0-9]{2}).*$/
Zamiennik:
$1
---------------------
Przykład 7
Treść w pliku:
[pusta]
Problem:
W jaki sposób podmienić pustą zawartość na inną np. liczbę 100?
Rozwiązanie:
Wyrażenie regularne:
/^\s*$/
Zamiennik:
100