![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 19.08.2004 Skąd: Pruszków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Wraz z moim znajomym piszemy skrypt odpowiedzialny za kolorowanie skladni w artykulach i forum w naszym serwisie. Jak dotad wszystko nam szlo jak po masle, ale natknelismy sie na pewien problem, z ktorym od pewnego juz czasu nie mozemy dac sobie sami rady. Problem polega na tym, ze jak kolorujemy slowa kluczowe (dla przykladu niech to bedzie int z C) to slowa te nam sie koloruja, ale niestety rowniez wtedy, jesli slowo to jest lancuchem znakow. Mamy powiedzmy taki oto prosty kod napisany w C: Kod #include <stdio.h> int main() { printf("Hello int World \n"); return 0; } i teraz powiedzmy, ze chcemy pokolorowac wszystkie int na niebiesko, wiec:
I teraz pytanie. Jak powinno wygladac wyrazenie regularne, aby nie kolorowalo tekstu w cudzyslowach? Probowalem tak:
Niestety tez nie dziala. Juz nie mam pomyslu jak mozna sobie z tym poradzic. Bede wdzieczny za wszelkie informacje. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 19.08.2004 Skąd: Pruszków Ostrzeżenie: (0%) ![]() ![]() |
Postanowilem jeszcze raz poszukac na googlach i znalazlem kilka rozwiazan. Idealnym (no prawie) zostal projekt Geshi - skrypt w php do kolorowania skladni.
http://qbnz.com/highlighter/ Mozliwosci: - dosc dobrze koloruje, sa drobne bledy, ale mozna je sobie odpusic - projekt jest wciaz rozwijany - numerowanie linii kodu - latwa rozbudowa parsera (dodanie "nowych jezykow") - latwo mozna modyfikowac style w kolorowaniu (te proponowane przez tworcow maja brzydkie kolorki, ale to tylko kwestia gustu) Jedyna wada jaka znalazlem jest to, ze nie zwraca nam lancucha z pokolorowanym tekstem, tylko odrazu wyswietla. Naszczescie mozna sie z tym uporac za pomoca manipulacji buforem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 07:03 |