PHP Echo in farbe - nö, php mag lieber rumzicken

ReVo

Lieutenant
Registriert
Jan. 2006
Beiträge
567
Hallo,

mir ist es schleierhaft warum, aber mein lieber php will die echos nicht immer in der richtigen farbe ausgeben. Ich machs so:
PHP:
echo "<font color=\#ff0000\">Mein Text</font>";

Also grün, blau und wer weiß noch was geht, aber rot oder dunkelrot...alles richtung rot, da sagt er: "nene, keine lust" - er macht darauf entweder grün oder standard schwarz. #ff0000 sollte "eigentlich" rot sein, aber keine chance. Kann man farbige echos noch anders machen oder an was kann es denn liegen?

Danke & Gruß
 
hier zickt weder php noch html noch irgendein browser rum, sondern du machst es einfach falsch

1) Wofür steht das Zeichen "\" ? Mit diesem Zeichen escaped man nomalerweise das double quota vom echo. Dieses hat du aber nicht geschrieben, also wird nichts escaped, und er gibt das Zeichen direkt aus.
Du generierst also folgenden HTML code:
<font color=\#ff0000">Mein Text</font>"
das ist falsch!
Verständlich dass er das nicht richtig anzeigen möchte, weil er garnicht weiss was du willst..

Ehrlich gesagt bin ich etwas verwundert. Ein einfacher Blick in den HTML code hätte dafür gereicht.
Hattest du keine Lust zum debuggen?

2) Wenn du php mit html so schön mixt, dann nimm doch bitte die richtigen Zeichen dafür
-> echo '<font color="..">text</font>';
dann musst du nicht immer diese double quotas escapen

3) Wenn du einen Text formatieren möchtest, dann benutz doch bitte CSS.. das ist genau dafür da
-> <span style="color: #ff0000">text</span> oder welches html element auch immer du hier brauchst

4) Es ist keine besonders tolle Idee Html und php auf diese Art zu mischen, Ich weiss zwar nicht wie der Rest aussieht, aber dein Beitrag hier lässt böses vermuten ;) evtl. solltest du nochmal deinen generellen Aufbau überdenken.
Vielleicht schaust du dir mal smarty oder ähnliche sachen an, die dir bei html <-> php behilflich sind.
 
Hi PW-toXic,

danke für die schnelle antwort. Ich habe nicht debugt weil ich dachte "so muss es sein". Lange muss man in google nicht suchen wenn man "php echo farbig" eingibt und man kommt auf solche lösungen wie bei mir - weil ich das ja auch von da habe. Da ich recht wenig ahnung habe, wurde das so gemacht wie es mir google gesagt hat. Ich habe mich selber gewundert, warum ich php und html so sehr mischen muss, eine getrenntere lösung fände ich auch viel besser. Was wären jetzt die nachteile wenn ich das so auf php/html mischmasch lasse?

Ich weiß nicht wie ich das getrennt schöner machen soll und was genau smarty ist...aber falls ich als php anfänger das verstehen kann werde ich es sicher machen. Falls das aber doch nichts für anfänger ist, muss ich das ganze wohl oder übel so lassen.

Danke & Gruß
 
Was wären jetzt die nachteile wenn ich das so auf php/html mischmasch lasse?
- schlechtere Wartbarkeit des Codes
- schlechtere Wiederverwendbarkeit von Programm logik
- schlechtere Austauschbarkeit von der Darstellung
- unübersichtlicher
Darstellung und Programm ablauf bzw Logik sind zwei grundlegend verschiedene Sachen, die unabhängig voneinander bearbeitet werden können sollten.

Ich weiß nicht wie ich das getrennt schöner machen soll und was genau smarty ist
Du beschreibt hier zwei Probleme, die eigentlich ein einziges Problem sind. Eine (gute) Lösungsvariante deiner beiden Probleme ist Wikipedia aufzumachen, und nach smarty suchen.
Alternativ geht auch google.


.aber falls ich als php anfänger das verstehen kann werde ich es sicher machen. Falls das aber doch nichts für anfänger ist, muss ich das ganze wohl oder übel so lassen.
Um dir sagen zu können ob für dich smarty sinnvoll ist, kann ich nur machen wenn ich genau weiss was du machst.
Auf alle Fälle ist es kein Fehler sich das einmal anzusehn.


Lange muss man in google nicht suchen wenn man "php echo farbig" eingibt und man kommt auf solche lösungen wie bei mir
Das stimmt allerdings...
Wenn man bei google nach "php echo farbe" sucht kommt man genau auf diesen thread, womit du dir ja selbst helfen kannst, da du die lösung von dir selbst abschreiben kannst.

.., kleiner spass ;) ich bin nur verwundert wie schnell google mal wieder mit der indizierung ist ;)
 
Zuletzt bearbeitet:
Hi, also oben wurde es schon gepostet
PW-toXic schrieb:
2) Wenn du php mit html so schön mixt, dann nimm doch bitte die richtigen Zeichen dafür
-> echo '<font color="..">text</font>';
dann musst du nicht immer diese double quotas escapen
und es funktioniert. Habe das aber auch genau so wie du das geschrieben hast hanni, aber da wird es in schwarz angezeigt
 
Doch, einfache Hochkommas sind in HTML (also eigentlich SGML) zulässig. Unter bestimmten Voraussetzungen kann man den Attributwert sogar komplett ohne " oder ' hinschreiben - schön finde ich aber beides nicht.

In XHTML sind Anführungszeichen aber Pflicht, obwohl auch da sowohl single als auch double quotes erlaubt sind.
 
Ja ich habe #blabla nicht durch #FF0000 ersetzt ^^ - sry und gute nacht ;)
 
In XHTML sind Anführungszeichen aber Pflicht, obwohl auch da sowohl single als auch double quotes erlaubt sind.
Um es korrekt zu sagen: Singe- oder Doublequotes sind erlaubt, auch in XHTML Strict. Man sollte sich nur für eine Variante entscheiden und es nicht mischen. ;)
 
Zuletzt bearbeitet:
Zurück
Oben