Skocz do zawartości

[PHP] Wyświetlanie kodu php/html w php


Markuz

Rekomendowane odpowiedzi

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

  • Administratorzy

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

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...