Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Kolorowanie tekstu w Textarea, Jak zrobić kolorowanie tekstu w Textarea?
Weles
post
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


Witam!
Od jakiegoś czasu piszę sobie swój system CMS, i zatrzymałem się obecnie na pobieraniu podstron do edycji w Textarea.
Zależy mi bardzo aby tekst który się edytuje był pokolorowany i żeby pisały linijki danego tekstu.
Oprócz Textarea nic nie wpada mi na myśl, a więc potrzebuję czegoś co mi w tym pomoże zrobić na textarea'i.
String Replace to raczej głupi pomysł, i wgl. nie działa.
Funkcja highlight_string koloruje tylko PHP i nie działa w Textarea'i.
Próbowałem także jakiegoś SyntaxHighlighter, działa tak jak chcę, tylko że nie w Textarea'i, tylko wyświetla dane jako zwyczajny tekst..
Zależy mi głównie aby kolorowany był tekst HTML i CSS + opcjonalnie JavaScript.
Czy nie zna ktoś może gotowego rozwiązania, lub jak sam mogę to napisać, na czym, w jaki sposób ?
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Poszukaj edytorów WYSIWYG dla stron, jest tego masa, dużo wątków na forum.

Generalnie działa to tak, że taki edytor tekst z textarea wstawia do div'a i go styluje (nie da się ostylować różnorodnie tekstu w textarea). Podczas używania edytora, pisania etc widać efekt końcowy. Po zakończeniu pisania jest on wstawiany do textarea, aby mógł być normalnie obsłużony jak każdy inny element formularza.
Go to the top of the page
+Quote Post
Weles
post
Post #3





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


Też szukając na to sposobu natknąłem się na WYSIWYG, ale szukając w necie informacji na ten temat znajdywało mi jakieś programy pod windowsa w formacie .exe ;|
Wiem że piszą o tym kolorowaniu na wielu forach w wielu miejscach, przeleciałem bodajże wszystkie i jednak rozwiązania nie znalazłem..
Dlatego temat zakładam.
Od 8.00 do teraz szukałem rozwiązania, za ten czas trochę linków i sposobów zdążyłem przejrzeć.
Go to the top of the page
+Quote Post
lobopol
post
Post #4





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


http://www.queness.com/post/212/10-jquery-...ch-text-editors szukaj w google pod hasłem wysywig javascript polecane fckeditor/tinymce

Ps. 666 post (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


A jak chcesz napisać coś własnego to też nie problem. Robisz textarea który będzie w formularzu, obok div z contenteditable i jakiś button z execCommand. Przy wysyłaniu formularza całą zawartość diva przerzucasz po prostu do textarea.

Zastosowanie contenteditable ma tą zaletę że nie potrzebujesz do tego żadnych iframe (jakie są często używane w wyżej wymienionych gotowcach lub starych tut.). A w zasadzie tego diva tworzysz przy wczytywaniu strony, a jak ktoś nie będzie miał JS to zobaczy tylko pole textarea.


Edycja:

Chyba wszyscy się zapędziliśmy, autorowi chodziło o kolorowanie składni, więc w edytorach tego nie uzyskasz, potrzebna jest osobna biblioteka np http://shjs.sourceforge.net/ dla JavaScript i GeShi dla php http://qbnz.com/highlighter/ możesz to połączyć z tym co pisałem wyżej, jednak to trochę roboty. Ogólnie to google > "syntax highlighter"

http://codemirror.net/ - kolorowanie składni "na żywo".

Ten post edytował !*! 26.09.2011, 12:34:02
Go to the top of the page
+Quote Post
Weles
post
Post #6





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


Ło yea, o to mi właśnie chodziło (IMG:style_emoticons/default/smile.gif)
Dzięki wielkie za pomoc.
Go to the top of the page
+Quote Post

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: 23.09.2025 - 16:52