Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][PHP]tiny_mce + utf8 + str_replace
piotrek24
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 22.07.2006

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


Tak jak w temacie używam edytora tiny_mce i kodowania utf8. Gdy dodam do bazy tekst ze spacjami na początku np:

" jakiś tekst"

i potem wykonam na nim funkcję np.:

  1. str_replace(' ', '_', " jakiś tekst")


to otrzymuje wynik w rodzaju: "_ _ _ _ _ _jakiś tekst"

I moje pytanie jest takie: czym są te "białe znaki" pomiędzy kreseczkami i jak się do nich dobrać? preg_replace i użycie wzorca białego znaku \s też nie działa. Z tego co wiem jest to chyba znak   tylko że str_replace(' ', '_', " jakiś tekst") też nie pomaga...

Proszę o pomoc

Go to the top of the page
+Quote Post
AlexDeLarge
post
Post #2





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

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


trim

zdrówka życzę


--------------------
Java and PHP developer 2007-2014 :)
Go to the top of the page
+Quote Post
piotrek24
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 22.07.2006

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


o nie nie, trim obcina białe znaki a to to nie jest tak do końca białym znakiem i na tym polega mój problem smile.gif

gdyby działalo trim() do działało by i str_replace(' ','',tekst)


PS. to znaczy gdy w tiny_mce ustawie opcje "entity_encoding : named" to zamiast tych "spacji" pojawia się  nbsp; ale jak dam entity_encoding : "raw" to pojawia się po prostu "spacje" które spacją jak się okazuje nie są i nie moge dojść do tego jaki to znak.

Ten post edytował piotrek24 16.08.2011, 19:25:04
Go to the top of the page
+Quote Post
AlexDeLarge
post
Post #4





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

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


OK, załapałem.
A jak spróbujesz w TinyMCE.init() entity_encoding: "numeric", lub "named" to co dostajesz w stringu przekazywanym potem do preg_replace()?


--------------------
Java and PHP developer 2007-2014 :)
Go to the top of the page
+Quote Post
piotrek24
post
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 22.07.2006

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


no gdy dam named to dostaje "& nbsp;" gdy dam numeric "& #160;" i ok te znaki da się zamienić str_replace('& nbsp;', '',$foo) ale jak dam "raw" to mam tą niby spacje i jak mam ją zamienić? czego uzyc w preg_replace?

Dobra udało mi się znaleźć odpowiedź smile.gif

Trzeba uzyć czegoś takiego:

$text = preg_replace('/\xC2\xA0/',' ',$text);

źródło:

Getting Rid of Non Breaking Spaces (&nbsp)

Temat właściwie zamknięty

Ten post edytował piotrek24 16.08.2011, 20:08:30
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: 20.08.2025 - 09:33