Jak zrobić na stronie kolorowanie składni kodu php?


(Darom82) #1

Czy ktoś może mi pomóc zrobić na mojej stronce tak, żeby kolorowało mi składnie kodu php na stronie ? Np. Na mojej stronce Tutaj kod php mam zaznaczony na takim ciemny tle niebieskim - ale co zrobić, żeby kolorowało mi ten kod tak jak na forum "dobreprogramy" jest to zrobione ?

Bardzo proszę Was o pomoc w tej sprawie.


(Edward3007) #2

Może dodawać w CSS żeby dla pre class=“code” czcionka miała inny kolor ?


(Konrad Kosowski) #3

Skorzystaj z tego:

http://php.net/manual/en/function.highlight-string.php


(Darom82) #4

Skorzystałem zastanawiam się czy wystarczy to dać na początku gdzieś na stronie w index.php takie coś ?

<?php

highlight_string('<?php phpinfo(); ?>');

?>

A później w css mogę zrobić tak ?

.php phpinfo {

	font-color: #000000;

	font-color: #0000BB;

	font-color: #007700;

	font-color: #0000BB;

}

Będzie tak działać u mnie żebym miał taki efekt jak chce ?


(jacko1998) #5

Co to wgl jest ?! phpinfo(); - to jest funkcja php, której w żaden sposób w css nie ostylujesz…(bo niby co ?). Najlepiej tak:

<?php''.$zmienna.'';?[/code] Gdzie $zmienna to tekst wpisany do formularza. Następnie w CSS: 
[code]pre{ color: green; }
 Ale radziłbym bym Ci skorzystać z tego. Bardzo ładnie koloruje składnie PHP/HTML/CSS, a może i więcej. ;)

(Drobok) #6

geshi jest dość fajne :slight_smile: Do tego masz łatwy dostęp do edycji kolorów poszczególnych znaczników


(Darom82) #7

Nie da się u mnie na stronie zrobić kolorowania składni kodu php dlatego, że te kody na tym ciemnym tle niebieskim np. Tutaj nie są nigdzie w żadnym pliku zapisane. Te kody są jedynie w panelu admina mojej stronie, a jak tam dodam zapis ten :

<?php


highlight_string('TUTAJ MOJ KOD, KTÓRY CHCE POKOLOROWAĆ');


?>

Wtedy nie ma nic w tym miejscu nawet tego ciemnego tła z tym kodem, które teraz jest widoczne. Czy ktoś może mi pomóc to zrobić ? :frowning:


(kostek135) #8
  1. Ta funkcja działa

  2. Nie możesz zdefiniować kolorów, tak jak podałeś (to jest bez sensu, skąd wiadomo do jakiego tokenu dopasować daną regułę?)

Możesz natomiast zrobić to przez php.ini link

  1. Nic ci się nie pokazuje, bo prawdopodobnie funkcja zwróciła błąd (włącz raportowanie błędów). Gdybyś miał podstawową wiedzę na temat analizatorów leksykalnych może ułatwiłoby to zadanie. Prościej rzecz ujmując kod musi dać się sparsować, aby móc go pokolorować. Co za tym idzie musi być poprawny syntaktycznie.

(Darom82) #9

Próbuje to zrobić w miejscu tak jakbym dodawał newsa na mojej stronie albo w miejscu tym i nie chce mi tego kolorować w żaden sposób :frowning: Może mi ktoś pomóc to zrobić ?


(jacko1998) #10

Coś nie mogę uwierzyć, że robisz tą stronę sam… To że, te kody są umieszczane w MySQL, to nie znaczy, że ich nie pokolorujesz. Tutaj np. nie wiem dlaczego kod umieszczasz w znaczniku pre , a potem code… Dodaj do strony ten plug-in geshi albo to co ja polecałem, zobacz na jakiej zasadzie działa i gotowe :wink: // CTRL + U jak byś nie wiedział :slight_smile: