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
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. <?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...

(IMG:http://i30.tinypic.com/19pbq.jpg)

Ten post edytował fifi209 28.08.2009, 12:51:35
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 11:39