Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+html] wyświetlanie kodu na stronie
Forum PHP.pl > Forum > Przedszkole
combic
Witam. Problem jest taki. Chcę wyświetlić na stronie zawartość zewnętrznych plików - źródeł skryptów itp. W moim przypadku to pliki C/C++ - nazwa.cpp.
Więc w kodzie wstawiam:

  1. <pre>
  2. <?php include('nazwa.cpp'); ?>
  3. </pre>


Plik jest wstawiany dobrze, do momentu napotkania w tekście znaczników typu "cout<<endl;"
oraz paru innych. Próbowałem nawet wstawić znaczniki "<"code">" itp, ale z tym samym rezultatem. Natomiast mimo iż kod nie jest wyświetlany, to w źródle strony jest widoczny, tyle, że w kolorze czerwonym. Więc czyżby to wina interpretacji przeglądarek? Sprawdzałem w 6 różnych - to samo. Pytanie więc jak umieścić kod, aby nie był interpretowany przez serwer php oraz/lub przeglądarki? Odpada konwersja znaczników typu > na "&qt;" itp.
mike
Na początku to zajrzyj tutaj: GeSHi - Generic Syntax Highlighter

Cytat
Więc czyżby to wina interpretacji przeglądarek? Sprawdzałem w 6 różnych - to samo. Pytanie więc jak umieścić kod, aby nie był interpretowany przez serwer php oraz/lub przeglądarki? Odpada konwersja znaczników typu > na "&qt;" itp.

Oczywiście, przeciez to ma format tagów HTML.
Napisz sobie w pliku HTML <bla_bla_bla> i zobacz czy Ci wyświetli.

Jak chcesz coś wyświetlać to zawsze trzeba zamieniać na encje i uciekać od znaków problematycznych dla HTML'a.
Na przykład: htmlspecialchars

I nie korzystaj z include() tylko wczytuj pliki do zmiennych.

  1. <?php
  2.  
  3. $strSource = file_get_contents( 'plik.cpp' );
  4.  
  5. echo '<pre>' . $strSource . '</pre>';
  6.  
  7. ?>


Ale najlepiej skorzystaj z GeSHi
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.