Dies ist meine PHP-Datei, index.php

<html>
   <div id='hello'>Hello, <?php $name?>! How are you?</div>
</html>

Dies ist meine CSS-Datei index.css

<style>
   #hello {
       font-size: 36px;
       color: red;
       border: 1px solid red;
   }
</style>

Ich versuche, die Bibliothek https://github.com/tijsverkoyen/CssToInlineStyles zum Konvertieren meines Index zu verwenden. PHP-Datei zu Inline-CSS. Das Problem ist, es konvertiert das schließende PHP-Tag '? & Gt;' auf '? & amp; gt' für das schließende Tag. Ich weiß, dass die Bibliothek auf HTML abzielt und meine Datei eine .php-Datei ist. Gibt es jedoch eine Möglichkeit, zu verhindern, dass das Tag '>' in das entsprechende Symbol '&gt' konvertiert wird? Wenn das so ist, wie?

1
wonghenry 30 Dez. 2015 im 04:16

3 Antworten

Beste Antwort

Für das, was Sie gepostet haben, lautet die kurze Antwort nein. Zumindest nicht ohne die Bibliothek zu optimieren (wie Sie bereits betont haben, ist sie für HTML-Dateien gedacht).

Wenn Sie die "Konvertierung" wirklich (wirklich) dynamisch durchführen müssen (wie in "Jedes Mal, wenn die Seite angefordert wird"), können Sie dies auf der Clientseite tun, indem Sie das DOM mit etwas JavaScript bearbeiten. (siehe hier).

Wenn Sie die Konvertierung nur einmal durchführen müssen und dann die Ausgabedatei als Serverressource belassen, können Sie die Vorlagenvorverarbeitung verwenden.

Ich bin mir nicht sicher, warum Sie in Inline-CSS konvertieren möchten. Wenn Sie etwas mehr erklären, können wir Sie vielleicht in die richtige Richtung weisen.

G00d 1uck.

[UPDATE] Die Konvertierung sollte also dynamisch sein. Ein Weg zu gehen ist (anstatt eine PHP-Datei zu verwenden, die HTML-Code mit eingebetteten Echo-PHP-Werten enthält), alle HTML + PHP-Echo in eine String-Variable einzufügen und das Ergebnis dann als Stream (oder als tatsächliche temporäre Datei) einzufügen ) zum Konverter warten, auf die Ausgabe warten und per E-Mail senden.

1
LCO TEC BAJA 30 Dez. 2015 im 06:52

Das index.css sollte nur enthalten:

#hello {
  font-size: 36px;
  color: red;
  border: 1px solid red;
}

Das <style> ist ein HTML-Tag und sollte nicht in einer .css - Datei enthalten sein. Wenn Sie sie in Ihrer .css - Datei haben, funktioniert die gesamte Datei nicht.

3
Praveen Kumar Purushothaman 30 Dez. 2015 im 01:23

Nein, es entgeht (wie es sollte) diesen Charakteren für Sie. Ihre CSS-Dateien sollten niemals HTML enthalten.

Entfernen Sie die <style></style> Tags und es sollte funktionieren. Sie benötigen diese nur, wenn Sie css in Ihr html einfügen.

1
Martin 30 Dez. 2015 im 01:22