![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 7.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam pytanie jak napisać przykład, który usunie niepotrzebne spacje np w tekście:
Ala ma kota , kot ma na imię Bolek , Bolek lubi się bawić ! Docelowo chciałbym otrzymać: Ala ma kota, kot ma na imię Bolek, Bolek lubi się bawić! Próbowałem to zrobić w następujący sposób ale niestety lipa..
Moja idea była tak żeby znajdowano ciąg ' !' lub ' x' gdzie x jest dowolnym znakiem a następnie ciąg ten był obcinany od początku o jeden znak, tak aby pozostawał sam znak 'x' |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
str_replace() nie obsługuje wyrażeń regularnych, musisz użyć preg_replace()
http://php.net/manual/en/function.preg-replace.php -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 7.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem tak
i nie działa ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tutaj masz wszystko na temat wyrażeń regularnych:
http://www.php.net/manual/en/reference.pcr...tern.syntax.php -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 7.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
troche tego nie rozumiem....
jak w takim razie zapisać ciąg ' x' w postaci wyrażenia regularnego? gdzie x jest dowolnym znakiem ?!.,;: itp. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
troche tego nie rozumiem.... jak w takim razie zapisać ciąg ' x' w postaci wyrażenia regularnego? gdzie x jest dowolnym znakiem ?!.,;: itp. . to dowolny znak * dowolna ilość powtórzeń zamiana: Nie trzeba używać wyrażeń tutaj. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 7.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
ale czy w tym przypadku nie będzie tak że pousuwa spacje tam gdzie nie powinno tzn między wyrazami?
Nie ma usuwać dowolnego znaku tylko konkretne: ?!;:.,-+=>< Czyli ma zamienić ciąg ' x' na ciąg bez spacji czyli 'x' gdzie x jest jednym ze znaków wymienionym wyżej Ten post edytował ro6erto 4.07.2010, 15:28:13 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
To musisz sobie określić gdzie ma usuwać te spacje... to już wyrażenia.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 389 Pomógł: 69 Dołączył: 26.04.2010 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
ale czy w tym przypadku nie będzie tak że pousuwa spacje tam gdzie nie powinno tzn między wyrazami? Nie ma usuwać dowolnego znaku tylko konkretne: ?!;:.,-+=>< Czyli ma zamienić ciąg ' x' na ciąg bez spacji czyli 'x' gdzie x jest jednym ze znaków wymienionym wyżej to zrob tak: Tam pierw jest spacja+przecinek i zamieniasz to na sam przecinek, wtedy zwyklych spacji ci nie ruszy ![]() A wyrazenie regularne powinno wygladac CHYBA tak: A jesli nie chodzi tylko o przecinek, to tak:
To moje przyklady, byc moze sa zle (dopiero sie ucze regexa), ale warto poprobowac. EDIT: Bawie sie akurat preg_replace, wiec sprawdzilem swoje wypociny i ten match: zalatwi twoj problem (dziala), teraz wystarczy ze dodasz pomiedzy [ ] inne znaki, ktore maja byc brane pod uwage (poprzedzajac \) i wszystko ladnie podmienia ![]() Pozdrawiam Pan nizej tez podal dobre rozwiazanie. Ten post edytował kapuch 4.07.2010, 17:23:37 -------------------- Nie chce "Pomógł", aktualna ilość (69) w pełni mnie satysfakcjonuje :)
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 56 Dołączył: 3.11.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak:
Lepiej nie potrafię tego prostego kodu opisać. Ten post edytował muk4 4.07.2010, 16:59:00 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 2.06.2025 - 15:28 |