Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak usunąc przez PHP spacie w danym zdaniu?
RenePL
post 21.12.2004, 19:36:49
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 4.04.2004

Ostrzeżenie: (0%)
-----


Witam mam zdanie a wyrazy są odczielone od siebie o różnych roztawach odzielone są spaciom Nie umiem tego w tym poscie zastosować ale zamiast kropek jest normalna przerwa jak w spaci np.

VAR1................VAR2...................................VAR3........VAR4

Jak w php usunąc te przerwny miedzy VAR
zeby uzyskac
VAR1VAR2VAR3VAR4 lub lepiej VAR1 VAR 2 VAR3 VAR 4 czy też dobrze było by

VAR1.VAR2.VAR3.VAR4


prosze o pomoc
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
sobstel
post 21.12.2004, 19:47:47
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


postaraj się jaśniej formułować problem. może ta funkcja pomoże str_replace" title="Zobacz w manualu PHP" target="_manual ?


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
RenePL
post 21.12.2004, 21:18:47
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 4.04.2004

Ostrzeżenie: (0%)
-----


No jasne że to dzieki ci bardzo!
Go to the top of the page
+Quote Post
crash
post 21.12.2004, 21:21:54
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


A ja pokochalem wyrazenia regularne wiec zaproponuje:
  1. <?php
  2. $tekst = ereg_replace('[[:space:]]+', ' ', $tekst);
  3.  
  4. ?>


--------------------
Go to the top of the page
+Quote Post
sobstel
post 21.12.2004, 21:32:07
Post #5





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(crashu @ 2004-12-21 21:21:54)
A ja pokochalem wyrazenia regularne wiec zaproponuje:
  1. <?php
  2. $tekst = ereg_replace('[[:space:]]+', ' ', $tekst);
  3. ?>

moim skromnym zdaniem wyrażenia regularne powinny być wykorzystywane tylko do rzeczy, których nie da się zrobić za pomocą string functions... a to z jednej prozaicznej przyczyny, wyr.reg. są po prostu wolniejsze.


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
crash
post 21.12.2004, 21:49:42
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Wolniejsze o ile tysiecznych czy dziesieciotysiecznych sekundy? snitch.gif
A tak btw. to jak by to zrobic zwyklym str_replace() ?

Ten post edytował crashu 21.12.2004, 21:50:04


--------------------
Go to the top of the page
+Quote Post
sobstel
post 21.12.2004, 21:59:13
Post #7





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(crashu @ 2004-12-21 21:49:42)
A tak btw. to jak by to zrobic zwyklym str_replace() ?

zabierasz sie wyrazenia regularne a nie wiesz jak dziala jedna z podstawowych string functions? polecam manuala (str_replace" title="Zobacz w manualu PHP" target="_manual). to naprawde swietna lektura. piszą tam tez cos o ereg_replace vs. str_replace.

Ten post edytował sopel 21.12.2004, 21:59:49


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
crash
post 21.12.2004, 22:05:15
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Nie nie nie, nie chodzi o rozumienie dzialania winksmiley.jpg Ale jak uzywajac tylko str_replace zamienisz duza ilosc spacji w ciagu na jedna?


--------------------
Go to the top of the page
+Quote Post
sobstel
post 21.12.2004, 22:27:46
Post #9





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(crashu @ 2004-12-21 22:05:15)
Nie nie nie, nie chodzi o rozumienie dzialania winksmiley.jpg Ale jak uzywajac tylko str_replace zamienisz duza ilosc spacji w ciagu na jedna?

wlasnie, ze chodzi o rozumienie jej dzialania. gdybys rozumial to by nie bylo tego pytania. 2 razy polecałem manuala, to teraz już żywcem wkleje pierwsze zdanie z opsiu str_replace "Replace all occurrences of the search string with the replacement string"


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
crash
post 21.12.2004, 22:55:21
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Przestan cytowac swiety manual i sprawdz sam. Co zamienisz? Spacje spacją?


--------------------
Go to the top of the page
+Quote Post
sobstel
post 21.12.2004, 22:56:55
Post #11





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(crashu @ 2004-12-21 22:55:21)
Przestan cytowac swiety manual i sprawdz sam. Co zamienisz? Spacje spacją?

1. zapytaj kolegi, ktory o to pytal i znalazl rozwiazanie swojego problemu.

2. zamienam spacje niczym.

Ten post edytował sopel 21.12.2004, 22:57:41


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
crash
post 21.12.2004, 23:08:14
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Ad. 1 Niewiadomo czy koledze udalo sie rozwiazac ten "problem", po prostu ucieszyl sie, ze jest funkcja robiaca 'replace'...

Ad. 2 Kasujac po prostu spacje nie rozwiazujesz tego trudnego zadania... Usuniecie spacji to to gorsze rozwiazanie, kolega wolalby jednak zamienic wiele spacji na jedna.


--------------------
Go to the top of the page
+Quote Post
sobstel
post 21.12.2004, 23:11:36
Post #13





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(crashu @ 2004-12-21 23:08:14)
Kasujac po prostu spacje nie rozwiazujesz tego trudnego zadania... Usuniecie spacji to to gorsze rozwiazanie, kolega wolalby jednak zamienic wiele spacji na jedna.

rzucilem okiem na poczatek. no rzeczywiscie kolega najbardizej to by wolał zamienić na kropki (myślałem caly czas ze mowimy o tym pierwszym przypadku, Var1Var2Var3) i wtedy ereg_replace jest w sam raz.


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
RenePL
post 22.12.2004, 00:07:07
Post #14





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 4.04.2004

Ostrzeżenie: (0%)
-----


Chciałem aby zamiast { kropi to spacia} [..........] wstawil jeden element nie da się! za każdym razem jest zawsze tyle samo! jest jakis count w str_ co zamiast 10 spaci wstawi 1 spacie??
Go to the top of the page
+Quote Post
DeyV
post 22.12.2004, 09:25:02
Post #15





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Ale przecież tu już się pojawiła odpowiadź - wyrażenia regularne...
  1. <?php
  2. $tekst=' ale dziwny teskt s t';
  3. $tekst = preg_replace(&#092;"/s+/\", ' ', $tekst);
  4. echo $tekst;
  5. ?>


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
RenePL
post 22.12.2004, 13:05:15
Post #16





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 4.04.2004

Ostrzeżenie: (0%)
-----


[SQL]SUPER!! DZIAŁA DZIEKI!
Go to the top of the page
+Quote Post
rogrog
post 22.12.2004, 14:53:43
Post #17





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


można to zrobić też za pomocą str_replace ale wątpię czy to by było optymalne rozwiązanie

  1. <?php
  2.  
  3. $str = 'VAR1 VAR2 VAR3 VAR4  VAR5 VAR6 VAR7';
  4.  
  5. while ( false !== strpos( $str, ' ' ) ){
  6. $str = str_replace( ' ', ' ', $str );
  7. }
  8.  
  9.  
  10. echo $str;
  11.  
  12. ?>


działanie proste - dopóki występują jakieś podwójne spacje, każdą podwójną spację zamień na pojedynczą


--------------------
Go to the top of the page
+Quote Post
crash
post 22.12.2004, 15:41:27
Post #18





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Ten temat sie ciagnie jakby takie zformatowanie ciagu bylo jakims niezwykle trudnym wyzwaniem. Odpowiedzi dobre byly juz pare razy podane wiec po co ciagnac ten temat...

rogrog: czytaj caly temat zanim cos piszesz, a nie tylko samo pytanie...


--------------------
Go to the top of the page
+Quote Post
rogrog
post 22.12.2004, 17:07:30
Post #19





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


@crashu: dla Twojej informacji dokładnie przeczytałem cały temat. I podałem ten krótki kod bo, mimo że rozwiązanie zostało już podane to były wątpliwości czy można to wykonać bez użycia wyrażeń regularnych, a za pomocą samego str_replace

Cytat(crashu)
A tak btw. to jak by to zrobic zwyklym str_replace() ?

Cytat(crashu)
Ale jak uzywajac tylko str_replace zamienisz duza ilosc spacji w ciagu na jedna?


w dwóch postach pytasz się jak to zrobić z pomocą str_replace - no więc nie wiem co Ci się nie podoba.

Ten post edytował rogrog 22.12.2004, 17:15:05


--------------------
Go to the top of the page
+Quote Post
crash
post 22.12.2004, 18:19:09
Post #20





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


No to ja juz nie wiem czy uzycie jednego malutkiego ereg_replace bedzie gorsze od, tak jak ty proponujesz, petli while, strpos i str_replace...


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:43