Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Implementacja GeSHi
piotrooo89
post
Post #1


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Mam pewien problem z implementacją GeSHi na stronie. Więc od początku.

Pobieram dane z bazy i dostaje je w postaci:

  1. $zmienna = 'jakiś tekst <pre lang="php" line="1">php php php</pre> znów jakiś nowy tekst <pre lang="sql">sql sql sql</pre>';


i teraz chcę zaimplementować GeSHi aby kolorował mi owy tekst, próbowałem w ten sposób:

  1. include ('geshi/geshi.php');
  2. $zmienna = 'tekst tekst <pre lang="php" line="1">phptekst phptekst</pre> tekst2 tekst2 <pre lang="sql">sqltekst sqltekst</pre> tekst3 tekst3';
  3.  
  4. preg_match_all("/<pre(?:lang=[\"']([\w-]*)[\"']|line=[\"'](\d*)[\"']|\s)+>(.*)<\/pre>\s*/siU", $zmienna, $a);
  5.  
  6. print_r($a);
  7.  
  8. $geshi = new GeSHi($a[3][0], $a[1][0]);
  9.  
  10. echo preg_replace("/<pre(?:lang=[\"']([\w-]*)[\"']|line=[\"'](\d*)[\"']|\s)+>(.*)<\/pre>\s*/siU", $geshi->parse_code();, $zmienna);


tylko że jak będę miał n rożnych kodów, skrypt zamieni mi n na jednakowe kody (inaczej nie da rady bo w tablicy $a podałem phptekst phptekst)

W jaki dobry sposób rozwiązać ten problem, siedzę już chwilę nad tym i jakoś nie mogę nic nadzwyczajnego wymyślić.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




tak tak, podawałem jako tablice wielo wymiarowe, dopiero po chwili zauważyłem że coś nie tak. dzięki (IMG:style_emoticons/default/smile.gif)

pociągnę jeszcze ten temat. nie ma to już związku z php mianowicie ze stylami co zrobić aby geshi łamał mi tekst?
obecnie mam tak, jak zrobić to bez dodawania overflow: scroll? czy istnieje taka opcja?

(IMG:http://img193.imageshack.us/img193/6934/50626972.jpg)


Ten post edytował piotrooo89 24.10.2009, 15:45:05
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 10:03