Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

php-Datei auslesen und formatiert ausgeben

Frage Entwicklung PHP

Mitglied: joeker

joeker (Level 1) - Jetzt verbinden

08.12.2008, aktualisiert 10.12.2008, 4570 Aufrufe, 6 Kommentare

Hallo nochmal,

ich hatte vorgehabt, bestimmte php-Codedateien auszulesen und in einem DIV-Container auszugeben, damit die User den Quellcode eines php-Programms einlesen können.
Mit den folgenden Code lese ich die Datei ein:

01.
$arr_file = file($file); 
02.
foreach($arr_file as $line)	{ 
03.
    $output .= sprintf(" %s <br />", $line); 
04.
}
Um die Kommentare übersichtlich darzustellen, habe ich diese mithilfe von "preg_replace()" ausformatiert:

01.
$line = preg_replace("/^(\/\/)\s(.*)$/U", "<span style=\"color:#003151; font-weight:bold\">\\1 \\2</span>", htmlentities($line));
Und nun zum Problem: Wie bekomme ich die Whitespaces ausgegeben. In der Original-Datei befinden sich sämtliche Einrückungen, die im Browser leider nicht ausgegeben werden.
Mein Versuch:

01.
$line = str_replace(" ", "&nbsp;", $line);
Geht leider nur für die erste Zeile; der Rest bleibt gleich. Habt ihr viellciht eine Idee?
Mitglied: Arano
08.12.2008 um 18:18 Uhr
Schau dir doch mal PHP-Manual - highlight_string() und PHP-Manual highlight_file() an, die nehmen dir die ganze Arbeit ab :wink:

~Arano
Bitte warten ..
Mitglied: joeker
09.12.2008 um 15:04 Uhr
Ja, ok haste recht.
Aber das löst mein Problem auch nicht, dass die Leerzeichen alle angezeigt werden.
Haste vielleicht da eine Idee?
Bitte warten ..
Mitglied: Arano
09.12.2008 um 15:56 Uhr
Hm... hab mir mal was gebastelt, und da funktioniert es - wie erwartet.

php.php - auszugebenes PHP
01.
<?php 
02.
 // ein kommentarchen 
03.
 echo 'Ein echo.. HALLOOOO ECHOOOO ;)'
04.
 $zahl=145; 
05.
 if(isset($zahl)&&$zahl==145){ 
06.
  echo 'Oho, ein Hellseher' 
07.
08.
?>
index.php - die verarbeitende datei
01.
<?php 
02.
 
03.
 $datei=file('./php.php'); 
04.
 $oput=''
05.
 foreach($datei as $zeile
06.
  $oput.=$zeile
07.
  
08.
 highlight_string($oput); 
09.
 
10.
?>
ausgabe
01.
<span style="color: #000000"> 
02.
<span style="color: #0000BB">&lt;?php 
03.
<br />&nbsp;</span><span style="color: #FF8000">//&nbsp;ein&nbsp;kommentarchen 
04.
<br />&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">'Ein&nbsp;echo..&nbsp;HALLOOOO&nbsp;ECHOOOO&nbsp;;)'</span><span style="color: #007700">; 
05.
<br />&nbsp;</span><span style="color: #0000BB">$zahl</span><span style="color: #007700">=</span><span style="color: #0000BB">145</span><span style="color: #007700">; 
06.
<br />&nbsp;if(isset(</span><span style="color: #0000BB">$zahl</span><span style="color: #007700">)&amp;&amp;</span><span style="color: #0000BB">$zahl</span><span style="color: #007700">==</span><span style="color: #0000BB">145</span><span style="color: #007700">){ 
07.
 
08.
<br />&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'Oho,&nbsp;ein&nbsp;Hellseher' 
09.
<br />&nbsp;</span><span style="color: #007700">} 
10.
<br /></span><span style="color: #0000BB">?&gt;</span> 
11.
</span>
Wobei man die Datei auch gleich mit highlight_file() einlesen könnte... viel mir aber eben erst ein ^^

~Arano


EDIT:
Auch mit mehreren Leerzeichen hintereinander in dem Echo hat es funktioniert.
Bitte warten ..
Mitglied: joeker
09.12.2008 um 17:25 Uhr
Achso ist das

Aber wie bekomme ich den Code in einen DIV-Container? Bei mir gibt er mir den Code genau über meine Website aus; also außerhalb des Templates.
Bitte warten ..
Mitglied: joeker
09.12.2008 um 17:49 Uhr
Ok, hab es selber herrausgefunden. Ich musste nur den zweiten Parameter auf true setzen ;)

Vielen dank dir Arano!
Bitte warten ..
Mitglied: Arano
10.12.2008 um 15:10 Uhr
Korrekt !
Gern geschehen

~Arano
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst Externe XML-Datei in PHP auslesen (18)

Frage von Akrosh zum Thema PHP ...

Batch & Shell
gelöst Datei zeilenweise auslesen - es passiert aber nichts (3)

Frage von Nagus zum Thema Batch & Shell ...

C und C++
C-sharp soll Datei von PHP speichern (3)

Frage von Yanmai zum Thema C und C ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(16)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (15)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...