Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: geshi i prblemy związane z nim
Forum PHP.pl > Forum > PHP
bob1223
Witam, zacznę od począku czyli od poszukiwań skryptu kolorującego składnie przykładów. Na mojej prywatnej stronie chciałbym umieszczac artykuły warz z kodem źródłowym oczywiście pokolorywanym zgonie ze składnią. Kolorowanie samemu element po elemecie było by praca syzyfową, szukając na skrypt trafiłem na geshi. Udało mi się ja zainstalować, no ale cóż geshi traktuje cały tekst czyli nie tylko same przyklady ale rowniez tresc artykulu jako kolorowanę, na pewno ja popełnilem blad tylko jak to naprawić kod jaki posiadam to:

  1. <?php
  2. include("konfiguracja.php");
  3.        
  4.                                mysql_connect ("$localhost_db","$login_db","$haslo_db");
  5.                                mysql_select_db ($baza_db);
  6.                                
  7.                                if ($id == 'a')
  8.                                {
  9.                                    include_once('geshi.php');
  10.                                
  11.                                    $zapytanie = "SELECT * FROM new WHERE id='$n' AND kat='$k'";
  12.                                    $pytanie = mysql_query($zapytanie);
  13.                                    while($wiersz=mysql_fetch_array ($pytanie))
  14.                                    {
  15.                                        $t_tytul = "".$wiersz['tytul']."";
  16.                                        $t_tresc = "".$wiersz['tresc']."";
  17.                                        $t_data = "".$wiersz['data']."";
  18.                                        $t_autor = "".$wiersz['autor']."";
  19.                                        
  20.                                        $language='c';
  21.                                        
  22.                                        $geshi=& new GeSHi($t_tresc, $language);
  23.                                        $geshi->set_header_type(GESHI_HEADER_NONE);
  24.                                        $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
  25.                                        
  26.                                        
  27.                                        echo("
  28.                                        <h1>$t_tytul</h1>
  29.                                        <p class=\"paragraf_left2\"><table border=0 width=380><tr><td>
  30.                                            ");
  31.                                            
  32.                                            echo $geshi->parse_code();
  33.                                            
  34.                                        echo("    
  35.                                        </td></tr></table></p>                            
  36.                                        ");
  37.                                    }
  38. ?>
Zyx
Ciężko oczekiwać, że ktoś będzie implementować w bibliotece moduł sztucznej inteligencji, by domyślał się, gdzie u Ciebie zaczyna się kod, a kończy zwykły tekst smile.gif. Musisz wprowadzić jakiś znacznik do wyróżniania kodu w artykułach oraz napisać parser, który wytnie fragmenty z kodem, skieruje je do GeSHi i wklei wynik w treść artykułu lub też poszukać gotowego parsera BBCode, Wiki lub jeszcze czegoś i go dostosować. Ze swej strony polecam Markdowna - ma przyjemną składnię, a i też dysponuję kodem integrującym go z GeSHi.
thornag
Mozesz tez przyklady zapisywac w osobnych plikach i wyswietlac je poprzez zwykle highligh_file();
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.