Markuz Opublikowano 21 Lipca 2010 Udostępnij Opublikowano 21 Lipca 2010 Witam serdecznie! Ostatnio trudzę się z poprawnym wyświetlaniem kodu php/html w php, tak jak tutaj jest w bbcode np. code , jak uzyskać taki efekt? Znalazłem coś takiego : echo ('<pre>'); $fcontents = file('files/0.php'); while ( list( $line_num,$line ) = each($fcontents) ) { echo "<b>$line_num</b>\t" .htmlspecialchars($line); } echo ('</pre>'); Ale mam 2 zastrzeżenia, po pierwsze działa tylko na plikach, a po drugie nie wiem jak pokolorować ten skrypt. Proszę o pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Lipca 2010 Udostępnij Opublikowano 21 Lipca 2010 Lepiej użyj gotowych rozwiązań do kolorowania składni, pisanie własnego mechanizmu jest bez sensu - przy ilości dostępnych gotowców w sieci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 21 Lipca 2010 Udostępnij Opublikowano 21 Lipca 2010 Jest w php funkcja do kolorowania składni PHP. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 21 Lipca 2010 Administratorzy Udostępnij Opublikowano 21 Lipca 2010 http://www.php.net/manual/en/function.highlight-file.php - bo oczywiście żaden mądrala nie poda nazwy. Tylko uważaj, przy podawaniu argumentów, bo można łatwo umożliwić ludziom wyświetlenie dowolnego pliku, w tym haseł. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Lipca 2010 Udostępnij Opublikowano 21 Lipca 2010 http://www.google.pl/search?q=php+highlighter http://wklej.org/api/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 21 Lipca 2010 Udostępnij Opublikowano 21 Lipca 2010 @gnysek: To już lepiej highlight_string... rolleyes Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 21 Lipca 2010 Udostępnij Opublikowano 21 Lipca 2010 Jezu, Gnysek, czasami trzeba jakoś nakłonić użytkowników do korzystania z google Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 21 Lipca 2010 Administratorzy Udostępnij Opublikowano 21 Lipca 2010 A czasami warto im pokazać, że jest dokumentacja i mozna sobie poczytać co do czego ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markuz Opublikowano 21 Lipca 2010 Autor Udostępnij Opublikowano 21 Lipca 2010 A jak rozwiązać taki problem? echo $theme->bbcode($_POST[\\\\\\\'art\\\\\\\']); echo\\\\\\\"<hr>\\\\\\\"; Pojawiło to się po kilkukrotnym podglądzie tego samego kodu ale bez \ hmm. Tzn. mam textarea, wpisuje tam kod, daje podgląd się on się wyświetla wyżej (normalnie w php) i dodatkowo w textarea pod spodem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 21 Lipca 2010 Administratorzy Udostępnij Opublikowano 21 Lipca 2010 stripslashes() trzeba zastosować na danych z formularzy, takie zabezpieczenie zeby ci się kod PHP nie zepsuł przy konkatenacji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markuz Opublikowano 21 Lipca 2010 Autor Udostępnij Opublikowano 21 Lipca 2010 Miałem decode_htmlspecjalchars czy coś takiego, ale teraz znów jest błąd: BBcode: function bbcode($tekst){ $tekst = htmlspecialchars($tekst); $tekst = preg_replace("#\[b\](.*?)\[/b\]#si",'<b>\\1</b>',$tekst); $tekst = preg_replace("#\[ul\](.*?)\[/ul\]#si",'<ul>\\1</ul>',$tekst); $tekst = preg_replace("#\[li\](.*?)\[/li\]#si",'<li>\\1</li>',$tekst); $tekst = preg_replace("#\[i\](.*?)\[/i\]#si",'<i>\\1</i>',$tekst); $tekst = preg_replace("#\[u\](.*?)\[/u\]#si",'<u>\\1</u>',$tekst); $tekst = preg_replace("#\[s\](.*?)\[/s\]#si",'<s>\\1</s>',$tekst); $tekst = preg_replace("#\[img\](.*?)\[/img\]#si",'<img src="\\1" alt="" />',$tekst); $tekst = preg_replace("#\[img=(.*?)\](.*?)\[/img\]#si",'<img src="\\1" alt="\\2" />',$tekst); $tekst = preg_replace("#\[url=(http.*?)\](.*?)\[/url\]#si", "<A HREF=\"\\1\" TARGET=\"_blank\">\\2</A>", $tekst); $tekst = preg_replace("#\[p\](.*?)\[/p\]#si",'<p>\\1</p>',$tekst); $tekst = preg_replace("#\[span=(.*?)\](.*?)\[/span\]#si",'<span class="\\1">\\2</span>',$tekst); $tekst = preg_replace("#\[code\](.*?)\[/code\]#si",'<pre>\\1</pre>',$tekst); $tekst = nl2br($tekst); return($tekst); } Formularz: if($_POST['pod']=="Podglad") { echo"<br/>"; echo"Nazwa: <b>".$_POST['nazwa']."</b><br/>"; echo"Opis: <b>".$_POST['opis']."</b><br/>"; echo $theme->bbcode($_POST['art']); echo"<hr>"; echo "<form action='admin.php?ac=2' method='POST'><table>"; echo "<tr><td>Nazwa</td><td><input type='text' value='".$_POST['nazwa']."' name='nazwa'/></td></tr>"; echo "<tr><td>Opis</td><td><textarea name='opis'>".stripslashes($_POST['opis'])."</textarea></td></tr>"; echo "<tr><td>Zawartość</td><td><textarea rows='20' cols='70' name='art'>".stripslashes($_POST['art'])."</textarea></td></tr>"; echo "<tr><td><input type='submit' value='Podglad' name='pod'/></td><td><input type='submit' value='Dodaj' name='pod'/></td></tr>"; echo "</table></form>"; } else { Jak wkleje np. taki kod: <div id="page_menu" class="old_menu"><div id="menu_container"><ul class="menu"> <li id="page_menu_main" class="tab active_tab tab"><a class="tab active_tab tab" href="/">Start <span class="bullet"> </span></a><ul class="submenu"><li class="active"><a href="/">Strona główna</a></li><li><a href="/sledzik">Śledzik</a></li><li><a href="/mobile">W komórce</a></li><li><a href="/sledzik/promoted">Katalog kont polecanych</a></li><li> to mi się wyświetla taki: <div id=\"page_menu\" class=\"old_menu\"><div id=\"menu_container\"><ul class=\"menu\"> <li id=\"page_menu_main\" class=\"tab active_tab tab\"><a class=\"tab active_tab tab\" href=\"/\">Start <span class=\"bullet\"> </s Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Lipca 2010 Udostępnij Opublikowano 21 Lipca 2010 http://php.net/manual/pl/security.magicquotes.php Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się