![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem... Nie daję sobie do końca rady z wyrażeniami regularnymi, im prostsze, tym ciężej mi zrobić :/ Potrzebuję wyciągnąć z danego ciągu wszystkie wyrazy (oddzielone spacjami) oraz ciągi wyrazów w cudzysłowach. Przykład: Kod abc ghi "jkl mno prs" tuv "xyz" ma zwrócić: Kod abc ghi jkl mno prs tuv xyz Póki co mam coś takiego:
który zwraca: Kod ghi "jkl mno prs" co jest oczywistym nieporozumieniem z mojej winy. Problem wydaje się banalny, ale ja leżę... Będę wdzięczny za wskazówki, co jest nie tak. -------------------- how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
Czasem nawet jak umiesz to ciezko
Tak na szybko sprobuj tego co ponizej, nieoptymalizowane i na chybcika ale dziala. Daje pod $_arr[2] - tablice ciagow z cudzyslowow a pod $_arr[4] - z pomiedzy spacji CODE $_text = "abc ghi \"jkl mno prs\" tuv \"xyz\" uae \"123\""; //$_p1 = explode (...); preg_match_all ("/(\\\"(.*?)\\\")|( ?(.*?) )|( (.*?) ?)/", $_text, $_arr); echo "<pre>"; var_dump($_arr); echo "/<pre>"; exit; Explode w komentarzu dalem po to, zeby zwrocic uwage, ze czasem nie warto/nie trzeba tworzyc skomplikowanego wyrazenia, zalezy od sytuacji. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 00:16 |