Webdesign in Siegen

Code-Feld

Fragen zum Thema HTML und CSS können hier gestellt werden

Moderatoren: Basti, Ingo

Code-Feld

Beitragvon Summernoon am 09.02.2008, 16:13

Hallo,
ich möchte gerne ein Code-Feld in meine Seite einbauen.
Unter einem "Code-Feld" verstehe ich so etwas wie die Code-Funktion in diesem Forum, also das der Quellcode einen Rahmen bekommt und eine andere Schrift.
Soweit eigentlich kein Problem, aber wie erstelle ich eines was automatisch die Zeilennummer anzeigt ?
So:
................................
|1 Jede Menge Quellcode |
|2 noch mehr Quellcode |
|3 viel mehr Quellcode |
|4 Quellcode ^^ |
...............................

mfg Summernoon :dw:
Summernoon
Mitglied
 
Beiträge: 157
Registriert: 06.11.2007

Re: Code-Feld

Beitragvon Basti am 09.02.2008, 16:40

Das habe ich auch mal irgendwann gemacht, ist allerdings nicht ganz so leicht.

Im Prinzip musst du das Codefenster dann zeilenweise erzeugen, also beispielsweise in einer Tabelle oder ähnlichem.
Ich habe es damals mit der Funktion preg_match_all() gemacht. Auf diese Weise können dann alle Vorkommen von Codetags einzeln bearbeitet werden.

Anschließend kannst du dann die einzelnen Zeilen eines Codeteils mit der explode() Funktion (jedes "\n" oder je nachdem "<br />" bedeutet ja eine neue Zeile) in ein Array speichern.
Der Rest ist dann nicht mehr so schwierig, da du nun mit einer Schleife nacheinander die einzelnen Zeilen mit entsprechender Zeilennummer ausgeben lassen kannst.

// edit: Ich sehe grade, anscheinend handelt es sich gar nicht direkt um dynamische Inhalte. Eine Idee wäre vielleicht noch, dass du eine Liste mit "list-style-type: decimal;" verwendest, da dort ja jedem Listenelement die entsprechende Dezimalzahl vorangestellt wird, also im Prinzip müsste das dann wie zeilenweises nummerieren sein.
Benutzeravatar
Basti
Moderator
 
Beiträge: 1914
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Re: Code-Feld

Beitragvon Summernoon am 09.02.2008, 22:18

Ah sehr guter Vorschlag.
Hat geklappt.

Noch einen Rahmen drum und fertig ^^.
Man muss halt nur jede Zeile extra einfügen...

Aber immer noch besser als auch noch die Zahlen und so davor zuschreiben.

Wie erreiche ich aber das die Befehle nicht ausgeführt werden ?
Einen Kommentar darum setzen wäre natürlich eine alternative, aber nicht so optimal.

mfg
Summernoon :dw:
Summernoon
Mitglied
 
Beiträge: 157
Registriert: 06.11.2007

Re: Code-Feld

Beitragvon Basti am 10.02.2008, 00:29

Handelt es sich denn dabei nur um statische Seiten? Bei PHP könntest du alle Zeichen nämlich automatisch umwandeln lassen, ist es statisch musst du für alle "Codezeichen" die entsprechenden HTML Maskierungen verwenden.

Also dann anstatt

Code: Alles auswählen
<p></p>


ein

Code: Alles auswählen
&lt;p&gt;&lt;/p&gt;


" und & sollten dann auch durch ein &quot; bzw. &amp; ersetzt werden.
Benutzeravatar
Basti
Moderator
 
Beiträge: 1914
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Re: Code-Feld

Beitragvon Summernoon am 10.02.2008, 00:31

es ist eine statische seite.
Aber ich denke, dass ich den quellcode auskommantiere.

mfg
Summernoon :)
Summernoon
Mitglied
 
Beiträge: 157
Registriert: 06.11.2007

Re: Code-Feld

Beitragvon Basti am 10.02.2008, 00:34

Das wird dir aber dann nicht sehr viel bringen, da Kommentare im Browser nicht angezeigt werden. Lediglich in der Quelltextansicht wären diese dann noch sichtbar, und so wie ich dich verstanden habe möchtest du doch Codeteile im Browser anzeigen lassen, oder nicht?
Benutzeravatar
Basti
Moderator
 
Beiträge: 1914
Registriert: 15.06.2006
Wohnort: Rheinbreitbach

Re: Code-Feld

Beitragvon Summernoon am 10.02.2008, 02:35

ja das mit dem Kommentar funktioniert nicht.

Ja ich möchte Quellcode im Browser anzeigen lassen.

Hat noch jemand eine Möglichkeit wie man das machen könnte ?
mfg
Summernoon
Summernoon
Mitglied
 
Beiträge: 157
Registriert: 06.11.2007

Re: Code-Feld

Beitragvon Ingo am 15.02.2008, 21:46

Sofern's noch aktuell ist:

Wenn es sich HTML-'Code' handelt, ist vllt. die Funktion htmlspecialchars_decode() einen Blick wert:
Sie macht das, was Basti oben vorgeschlagen hat: sie ersetzt &, ", ', < und > durch ihre HTML-Entities
"&amp;" etc.

Gruß, Ingo :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 636
Registriert: 01.04.2007
Wohnort: Neuss/NRW


Zurück zu HTML/CSS

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast