Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] preg match all
Forum PHP.pl > Forum > PHP
termin
Witam, siedzę już pół dni nad rozwiązaniem i oczywiście jak sprawdzam na stronach internetowych zapis wyrażeń regularnych to tam działają, a wrzucenie tego w preg_match_all niestety sypie błędami:

Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '(' in


Może któryś z kolegów zna bardzo dobrze wyrażenia regularne i pomoże rozwiązać jeden problem.
Mam taki tekst:

[moc] 80W
[moc_swietlna] 10400LM
[odpowiednik_zarowki] 850W
[barwa_swiatla] 4000K
[napiecie_pracy] 100V - 240V
[czestotliwosc_pracy] 50//60Hz
[olsnienie] UGR < 25
[power_factor] PF 0.94
[oddanie_koloru] Ra > 80
[kat_swiecenia] 90°
[diody] 150x3020 SMD Sun an LED
[efektywnosc] 130LM / 1W
[certyfikaty] EMC, LVD, TÜV
[waga] 4.7 Kg
[wymiary] 350x350x350 mm
[obudowa_material] aluminium / szkło / miedź
[uderzenie] IK10
[szczelnosc] IP65
[temperatura_pracy] -40°C do +60°C
[wilgotnosc] 20% - 80%
[czas_pracy] 50.000h


Jak widać są tutaj różnorakie znaki, a każdy wiersz jest on nowej linijki.
Chciałbym z tego tekstu wyciągnąć to co znajduje się pomiędzy znakami [] oraz treść za znakiem ], np: moc oraz 80W i tak dla każdego dopasowania.
Z góry dziękuję za pomoc.
Kshyhoo
Z czym konkretnie masz problem?
sazian
  1.  
  2. preg_match_all('/\[([^\]]*)\](.*)/',......)
Tomplus
Jak masz problem z stworzeniem poprawnego wyrażenia regularnego, to warto najpierw na tekst użyć jakiegoś narzędzia. Np. takiego na tej stronie:
http://regex101.com

Jak już zrobimy poprawne wyrażenie regularne, to wrzucamy do naszej funkcji w PHP. Ułatwia pracę i naukę wyrażeń regularnych.
termin
dzięki chłopaki, ja z innej strony korzystałem, ale ta regex101 rewelacja, dzięki jeszcze raz.
viking
A co chcesz z tym dalej robić? Może wystarczy usunąć znaki [] z ciągu i rozdzielic po pierwszej spacji.
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.