Heim  >  Artikel  >  Backend-Entwicklung  >  Warum wird < in Vorlagen mit Escapezeichen versehen, > bleibt jedoch ohne Escapezeichen?

Warum wird < in Vorlagen mit Escapezeichen versehen, > bleibt jedoch ohne Escapezeichen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-04 01:03:30839Durchsuche

Why is < Escaped but > Bleibt in Vorlagen ohne Escapezeichen? 
Bleibt in Vorlagen ohne Escapezeichen? " />

Escape von <, aber nicht > in Vorlagen

Im Bereich der Dateigenerierung durch Vorlagen ist ein verwirrendes Problem aufgetaucht: Das nicht entkommene > Um dieses Rätsel zu lösen, vertiefen wir uns in die Dokumentation.

Der automatische Escape-Mechanismus von html/template, der für die HTML-Ausgabe gedacht ist, behandelt Datenwerte als Klartext, der zur sicheren Einbettung codiert werden muss. In der angegebenen Vorlage, in der das Zeichen < in einer #include-Direktive vorkommt, wird es jedoch fälschlicherweise als HTML-Inhalt interpretiert und umgewandelt ;lt;.

Die Lösung liegt darin, den Zweck der Vorlage mit der entsprechenden Template-Engine in Einklang zu bringen:

  • Wenn die Ausgabe HTML ist, verwenden Sie html/template, das kontextsensitives Escapen ermöglicht .
  • Für Nicht-HTML-Ausgaben entscheiden Sie sich für Text/Vorlage, um unnötige Escapezeichen zu vermeiden und sicherzustellen, dass < bleiben in ihrer ursprünglichen Form erhalten.

Das obige ist der detaillierte Inhalt vonWarum wird < in Vorlagen mit Escapezeichen versehen, > bleibt jedoch ohne Escapezeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn