Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Automatyczna twarda spacja
Forum PHP.pl > Forum > Przedszkole
Dapi
Witam.
Mam problem z zamianą spacji po pojedynczych znakach na twarde, niełamliwe spacje.

Przykłady z internetu (nie działają):
  1. $tresc = ereg_replace(' ([i|w|z|o|a|W|Z|A|I|O]) ',' \\1 ',$tresc);
  2. $tresc = eregi_replace(' ([i|w|z|o|a]) ',' \\1 ',$tresc);
  3. $tresc = preg_replace('/ ([i|w|z|o|a]) /i',' \\1 ',$tresc);


Nie działa też proste:
  1. $tresc = str_replace(' i ', ' i& nbsp;', $tresc);
(bez spacji między & a nbsp, ale forum głupieje wink.gif)

O co może chodzić? jak sobie poradzić?
jaslanin
Masz błąd w funkcji str_replace, ale jeżeli to nie to to powinieneś mieć nbsp w kodzie strony.

Pozatym nie powinno się już używać ereg_replace tylko preg_replace. A kod PHP powinien być w tagach [ PHP ]

  1. <?php
  2.  
  3. echo str_replace(' i ', ' i&nbsp', 'ala ma kota i mysz');
Dapi
Z reguły używam str_replace, ale tu mnie zawodzi.
Przy zamianie przykładowo wszystkich spacji na twarde działa, ale jeśli chodzi o pojedyncze znaki, już jest problem.
Możliwe, że problemem jest konfiguracja serwera?
jaslanin
o coś takiego Ci chodzi?

  1. <?php
  2.  
  3. echo preg_replace('/ ([i|w|z|o|a]) /i',' $1 ','ala ma kota i mysz');


Nie do końca rozumiem jaki masz problem. Może go dokładniej opisz.

dodałem na pastebin:

http://pastebin.com/WkTEFzdY

bo forum coś miesza
Dapi
Po prostu: nie działa.

Chcę zamieniać spacje na twarde spacje po pojedynczych znakach (a, w, i, z, itp), ale po przepuszczeniu przez wymienione
w pierwszym poście funkcje, spacje nie zmieniają się.

Zupełnie nie rozumiem dlaczego tak się dzieje, bo powinno bez problemu śmigać.
jaslanin
patrzyłeś na ten kod: http://pastebin.com/WkTEFzdY ?
Dapi
Asz kurcze...
Wszystko działa, problemem natomiast jest przeglądarka. Firegug raz pokazuje twarde spacje, raz nie,
w zależności od tego jak mu się podoba, a wbudowane w Firefoxa "Zbadaj element" nie pokazuje ich w ogóle.
Dopiero po wrzuceniu tekstu do textarea, widać, że wszystko śmiga.
wpaski
sprawdzaj w Firefoxie ctrl+u będzie:
ala ma kota i&nbsp;mysz

z drugiej strony u mnie tez na firebugu nie widać twardej spacji, dziwne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.