![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
cześć,
próbuje zaminić w stringu każdy ciąg znaków o długosci 1-3 zawsze zakończony spacją na powiedzmy "|". Próbowałem juz pare sposobów, aktualnie: $pattern = "/.{1,2,3}\s/"; $matches = preg_replace($pattern, "|", "jeden dwa trzy cztery pds g aa"); Nie działają. Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A co to za wymysł: {1,2,3} ? w nawiasach klamrowych podaje się zakres 'od do' a nie możliwe ilości znaków. Powinno być tak: '.{1,3}\s'
-------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie działa,
Przy twoim jest błąd: No ending delimiter '.' found po zmianie na "/.{1,3}\s/" działa źle, dostaje: je||t|czt|||aa a całych wyrazów ma nie ruszać, tylko wyrazy o długości 1-3 znaków zakończone spacją. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Kod /(\w{1,3})\s/ Z replace-em już chyba dasz radę. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie działa, efekt nadal taki sam:
je||t|czt|||aa skraca nawet słowo "jeden". Chodzi tylko usunięcie krótkich słów - 1-3 znakowych zakończonych spacją. Długie słowa powinny zostać bez zmian. Ten post edytował biedak 6.05.2011, 10:26:14 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Móoj błąd
Kod /\s(\w{1,3})\s/
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
To już szybciej i wygodniej będzie Ci po prostu wybrać te dobry wyrazy za pomocą preg_match.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Fakt, to pewnie będzie lepsze.
Kombinuje tak:
ale nie działa Chodzi o słowa o dlugości >3 zakończone spacją Ten post edytował biedak 6.05.2011, 11:07:01 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Naucz się w końcu wyrażeń regularnych bo Twój aktualny poziom wiedzy na ich temat to chyba wstęp od autora
Kod /(?:\s|^)(\w{3,})(?:\s|$)/
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
A może podaj jakiś poprawny przykład, albo sprecyzuj co chcesz osiągnąć, bo w zamianie:
"jeden dwa trzy cztery pds g aa" na "jeden|trzy|cztery|" to ja nie widzę nic wspólnego ze zdaniem Cytat próbuje zaminić w stringu każdy ciąg znaków o długosci 1-3 zawsze zakończony spacją na powiedzmy "|" Dlaczego w takim razie tylko jedna kreska na końcu? I skąd kreska między trzy i cztery? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Naucz się w końcu wyrażeń regularnych bo Twój aktualny poziom wiedzy na ich temat to chyba wstęp od autora Kod /(?:\s|^)(\w{3,})(?:\s|$)/ No może i tak, ale twoje dalej nie daje właściwych rezultatów (wyrazy dłuższe niż 3 znaki)
daje: Array: jeden trzy pds A może podaj jakiś poprawny przykład, albo sprecyzuj co chcesz osiągnąć, bo w zamianie: "jeden dwa trzy cztery pds g aa" na "jeden|trzy|cztery|" to ja nie widzę nic wspólnego ze zdaniem Dlaczego w takim razie tylko jedna kreska na końcu? I skąd kreska między trzy i cztery? Dla przykładu dałem, chciałem aby wyrazy były oddzielone. Ale teraz inna koncepcja - chcę wyciągnąć wyrazy dłuższe niż 3 znaki. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A więc zróbmy prościej
Kod /(\w{4,})/
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.05.2025 - 00:41 |