Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [wyr. reg.] Jak zrobić o takie wyrażenie?
Forum PHP.pl > Forum > PHP
Zakrn
Witam wszystkich
Mam taki dosć duży problem. Wyciagam pewien string który wygląda mniej więcej tak:
{1|nazwa|wartość}{2|tylko nazwa}{3|znowu nazwa|i wartość} itd. i teraz chcę wyciągnąć je do dwóch tablic: pierwszej, tej tylko z nazwą, i drugiej z nazwą i wartością.

[php:1:7cd2f98e4e]<?php
preg_match_all("|{(d{1,})|([.^|]*)|([.^|]*)}|U", $product[product_profile], $prfl_l, PREG_SET_ORDER);
preg_match_all("|{(d{1,})|([.^|]*)}|U", $product[product_profile], $prfl_s, PREG_SET_ORDER);
?>[/php:1:7cd2f98e4e]

Tak zbudowałem wyrażenia, ale one nie działają. Wiem, że problem jest w tym: [.^|] - chodziło mi o to, żeby nie dopasowało mi przypadkiem stringu {x|nazwa|wartość} do drugiej tablicy, ale to nie działa.

Jak można to rozwiązać?

Z góry dziękuję za odpowiedź
adwol
Cytat
Jak można to rozwiązać?

[php:1:b2fb69f9b1]<?php
preg_match_all('#{d+|[^|]*|[^|]*}#', $product[product_profile], $prfl_l);
preg_match_all('#{d+|[^|]*}#', $product[product_profile], $prfl_s);
?>[/php:1:b2fb69f9b1]
Zakrn
Dzięki wielkie, działa. biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.