Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: News
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Ozarys
News z kolorowaniem składni

Proszę o jakieś skrypty gdzie jest możliwość wpisywanie kodu php [code] te podstawowe prześledziłem i nie mogę znaleźć nic. Chodzi mi o pisanie artykułów o php i w nich muszę pokazać skrypty. Dobre by były z kolorowaniem składni może natknął się ktoś na coś takiego.
devnul
google -> GESHI
Ozarys
Geshi mi pokoloruje ale ja szukam czegoś do newsów. Niusy chcę zrobić tak żeby w menu wyświetlało mi skrót do artykułu i też żeby móc pokazać ostatnie artykuły, coś w txt lub baza bo mam na ser. Baze.
Spróbuje wykorzystać geshi do jakiegoś prostego skryptu z artykułami.
A może jest coś takiego jak na forum bbcode w niusach:
  1. <?php xxx?>
devnul
widać że słabo szukasz:google => php bbcode parser
Ozarys
Doszłem do takiego stopnia oto skrypt.
  1. <?php
  2. include("geshi/geshi.php");
  3. //formularz artykuły
  4. function NowyaArtykul() {
  5. echo'<form method="post"><p>';
  6. echo'Artykuł:<br><textarea name="tekst" cols="45" rows="15"></textarea><br><br>';
  7. echo'<input type="submit" name="artykulwyslij" value="wyślij"></p></form>';
  8. }
  9.  
  10. //funkcja bbcode
  11. function bbcode($string)
  12.  {
  13. $string = str_replace('[c o d e]','<div style="border: solid 1px red;"><p align="left">',$string);
  14. $string = str_replace('[/c o d e]','</div>',$string);
  15. $string = str_replace('[p h p]','<?$source='',$string);
  16. $string = str_replace('[/p h p]','';$geshi=& new GeSHi($source, "php");echo $geshi->parse_code();?>',$string);
  17. $string = ereg_replace(" "," ",$string);
  18. $string = ereg_replace("r", "", $string);
  19.  
  20.  
  21. return $string;
  22.  }
  23.  
  24. echo"<b>bbcode:<br></b>[c o d e]ramka[/c o d e]<br>[p h p]kod php koloruje składnie[/p h p]";
  25. NowyaArtykul();
  26. $_POST[tekst]=bbcode($_POST[tekst]);
  27. $plik = "1.txt";  //tworzymy plik txt z artykułem
  28. $wskaz = fopen($plik, "w");
  29. fwrite($wskaz,$_POST[tekst]);
  30. fclose($wskaz);
  31. include("1.txt");
  32. ?>

Cały skrypt mam na Skrypt Download...razem z geshi.
Doradźcie jak to poprawić bo nie daje rady i czy w ogóle ten skrypt nie jest śmiechu wart.
wert1
Skrypt jest smiechu wart bo nie wiem jak się objawia jego błąd smile.gif (nie testowałem)

Oświeć mnie
Ozarys
Chodzi mi o napisanie skryptu gdzie będę na stronie umieszczał artykuły o php. Nie znalazłem żadnego gotowego więc coś próbuję sam napisać.
Chcę użyć geshi do pokolorowania składni, jak wstawia
  1. [p h p]<?
  2. $x=x;
  3. echo $x;
  4. ?>[/p h p]

jest dobrze ale jak wstawiam np.:
  1. [p h p]<?
  2. $x="x";
  3. echo "$x";
  4. ?>[/p h p]


cudzysłów mi wstawia ukośnik przed nim i druga sprawa jaka mnie trapi to gdy mam kolorowanie składni, nie zawija tekstu.
Nie mam zbyt czasu więc nie często pisze ale cały czas szukam rozwiązania.
devnul
zawijanie tekstu - style="overflow:auto" w warstwie która będzie zawierała kod - tak masz na tym forum - jest to najlepsze rozwiązanie.
co do ukośników to stripslashes()
Ozarys
Funkcja stripslashes się spisała wielkie dzięki.
Podaje cały kod może się komuś przyda.
  1. <?php
  2. include("geshi/geshi.php");//http://qbnz.com/highlighter/
  3. //formularz artykuły
  4. function NowyaArtykul() {
  5. echo'<form method="post"><p>';
  6. echo'Artykuł:<br><textarea name="tekst" cols="45" rows="15"></textarea><br><br>';
  7. echo'<input type="submit" name="artykulwyslij" value="wyślij"></p></form>';
  8. }
  9.  
  10. //funkcja bbcode
  11. function bbcode($string)
  12.  {
  13. $string = str_replace('[c o d e]','<div style="border: solid 1px red;"><p align="left">',$string);
  14. $string = str_replace('[/c o d e]','</div>',$string);
  15. $string = str_replace('[p h p]','<?$source='',$string);
  16. $string = str_replace('[/p h p]','';$geshi=& new GeSHi(stripslashes($source), "php");echo $geshi->parse_code();?>',$string);
  17. $string = ereg_replace(" "," ",$string);
  18. $string = ereg_replace("r", "", $string);
  19.  
  20.  
  21.  
  22. return $string;
  23.  }
  24.  
  25. echo"<b>bbcode:<br></b>[c o d e]ramka[/c o d e]<br>[p h p]kod php koloruje składnie[/p h p]";
  26. NowyaArtykul();
  27. $_POST[tekst]=bbcode($_POST[tekst]);
  28. $plik = "1.txt";  //tworzymy plik txt z artykułem
  29. $wskaz = fopen($plik, "w");
  30. fwrite($wskaz,$_POST[tekst]);
  31. fclose($wskaz);
  32. include("1.txt");
  33. ?>


Cały czas rozszerzam ten skrypt i stoję w miejscu. Nie wiem jak to opisać żeby było zrozumiałe więc jak wpiszę [ph...p] funkcja bbcode zamienia mi ciąg znaków i przy pomocy include wyświetla dobrze, ale jak bym chciał edytować plik to już nie da rady odwrócić całości( ja przynajmniej nie umiem) i myślę żeby zapisywać plik w oryginalnej wersji a przy wyświetleniu dopiero użyć funkci bbcode kombinowałem w taki sposób.
Zawartość pliku 1.txt
  1. ghg
  2. [code.]yutyviytcviytviytvi[/code.]
  3. aaa
  4. [php.]Dpa aaaaaaaaaaaaa[/php.]
  5. eee


  1. <?
  2. //funkcja bbcode
  3. function bbcode($string)
  4.  {
  5. $string = str_replace('[code.]','<div style="border: solid 1px ;"><p align="left">',$string);
  6. $string = str_replace('[/code.]','</div>',$string);
  7. $string = str_replace('[php.]','<?$source='',$string);
  8. $string = str_replace('[/php.]','';echo $source;?>',$string);
  9. return $string;
  10.  }
  11.  
  12.  $plik = fopen("1.txt","r");
  13.  $tresc = fread($plik, 10000);
  14.  $_POST[tresc]=$tresc;
  15. $_POST[tresc]=bbcode($_POST[tresc]);
  16. echo $_POST[tresc];
  17. ?>

Ale chyba wszystko jest zle, zwykły tekst odczyta z pliku ale jak jest znacznik php czy zmienna to nic nie działa popatrzcie i poradźcie co zmienić .
Po wpisaniu [cod..e] utworzy diva ale [ph..p] powinien objąć tekst w sadzić w zmienną i wyświetlić a tak nie robi myślę że nie poplątałem w tym poście za bardzo.
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-2024 Invision Power Services, Inc.