Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zamiana na encje więcej niż 2 spacje
Sekwer
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 18.01.2009

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


Witam,
Chciałem, żeby więcej niż 2 spacje w tekście zostały zamienione na tzw. twarde spacje. ( ), mógłbym to zrobić za pomocą str_replace, ale ja nie chcę zamieniać wszystkich spacji na twarde spacje

Próbowałem z preg_replace i wyszło mi, że więcej niż 1 spację zamienia na jedną twardą spację, ale ja chciałem na zamienić na tyle spacji twardych, ile jest spacji "miękkich"

  1. <?php
  2. preg_replace('/[\ ]{2,}/', ' ', $text);
  3. ?>


Proszę o ew. poprawienie kodu, lub wskazówkę.

Ten post edytował Sekwer 28.08.2009, 11:36:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


  1. preg_replace('#[[:space:]]{2,}#', '&nbsp;', $text);


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Sekwer
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 18.01.2009

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


Twój przykład działa tak samo jak mój.
Mnie potrzeba zamienić wszystkie spacje koło siebie na &nbsp; (nie na jedno &nbsp; ale na tyle, ile jest spacji koło siebie)

Taka zamiana następuje, tylko w przypadku kilku spacji koło siebie.
;P
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


  1. preg_replace_callback('#[[:space:]]{2,}#', create_function('$matches', 'return str_replace(\' \', \' \', $matches[0]);'), $text);


Teraz działa dobrze. ;p

Ten post edytował fifi209 28.08.2009, 12:26:41


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Sekwer
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 18.01.2009

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


Nie wiem co robię źle ale nadal nie działa
----------
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


  1. <?php
  2.  
  3. $text = ' a ja wole swoja mame e cc';
  4. echo $text.'<br/>';
  5. echo preg_replace_callback('#[[:space:]]{2,}#', create_function('$matches', 'return str_replace(\' \', \' \', $matches[0]);'), $text);
  6.  
  7. ?>

daje wynik:
  1. a ja wole w swoja mame e cc<br/>
  2. a ja wole w  swoja   mame    e   cc


@edit
Oczywiście forum usuwa mi encje teraz...



Ten post edytował fifi209 28.08.2009, 12:51:35


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 16:04