[[html()]]
 
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
Nächste Überarbeitung
de:create:functions:html [17.02.2022 16:32] admin
Zeile 1: Zeile 1:
 +====== html() ======
  
 +''void **html**(string //Text//)''
 +
 +Gibt im Fragebogen HTML-Code aus. Damit können Texte ausgegeben oder Bilder eingebunden werden. Sinnvoller ist der Einsatz aber für Layout-Konstruktionen ([[:de:create:table-layout|Elemente nebeneinander platzieren]]).
 +
 +  * //Text//\\ Der HTML-Code, der im Fragebogen angezeigt werden soll.
 +
 +
 +===== HTML-Code einbinden =====
 +
 +**Hinweis:** In aller Regel ist es sinnvoller, längeren HTML-Code als //Text// in einer Rubrik im **Fragenkatalog** anzulegen, und diesen dann an der gewünschten Stelle in den Fragebogen zu ziehen ([[:de:create:texts]]).
 +
 +<code php>
 +html('<h1>Willkommen!</h1>');
 +html('
 +  <p>Zeilenumbrüche werden
 +  in der Ausgabe ignoriert.</p>
 +');
 +</code>
 +
 +
 +===== HTML-Code und andere Elemente =====
 +
 +Andere Elemente -- insbesondere Fragen und Textbausteine -- erzeugen ebenfalls HTML-Code. Man kann mittels ''html()'' davon und danach weiteren HTML-Code einfügen. So kann man z.B. eine Frage in ein anderes HTML-Element kapseln, um die Breite zu verändern:
 +
 +<code php>
 +html('<div style="max-width: 600px; margin: 0 auto;">');
 +question('AB01');
 +html('</div>');
 +</code>
 +
 +Eine Anwendung dazu beschreibt die Anleitung [[:de:create:table-layout]].
 +
 +
 +===== Hinweise =====
 +
 +**Tipp:** Verwenden Sie zum Einbinden von Texten, Bildern und längeren HTML-Codes besser Textbausteine. Diese werden unter **Textbausteine u. Beschriftung** erstelle und in den Fragebogen gezogen oder via ''[[:de:create:functions:text|text()]]'' in eine Fragebogen-Seite eingebunden. Dadurch bleibt der Fragebogen übersichtlicher, es stehen erweiterte Funktionen (z.B. mehrsprachige Fragebögen oder Platzhalter) zur Verfügung und man muss sich keine Sorgen um Anführungszeichen machen.
 +
 +**Hinweis:** Die PHP-Funktionen ''echo'' und ''print()'' sind für die Verwendung im Fragebogen nicht freigegeben, weil deren Ausgabe nicht im, sondern über dem Fragebogen erscheinen würde. Verwenden Sie stattdessen die Funktion ''html()''.
 +
 +**Hinweis:** Um in einem Text Anführungszeichen zu verwenden, die bereits als Textbegrenzer fungieren, müssen die Anführungszeichen durch einen Backslash (''\'') entwertet werden. Dann werden sie nicht mehr als Textbegrenzer erkannt und korrekt dargestellt.
 +
 +<code php>
 +html('<p>Dieser HTML-Code beinhaltet "doppelte Anführungszeichen".</p>');
 +html("<p>Und &quot;dieser&quot; ebenfalls.</p>");
 +html('<p>So klappt\'s mit einfachen Anführungszeichen</p>');
 +</code>
 +
 +<code php>
 +html('<h1>Hallo Welt!</h1>');  // Einfache Anführungszeichen
 +html("<h1>Hallo Welt!</h1>");  // Doppelte Anführungszeichen
 +html('<h1>Hallo "Welt"</h1>');           // Richtig
 +html("<h1>Hallo &quot;Welt&quot;</h1>"); // Noch richtiger
 +html("<h1>Hallo "Welt"</h1>"); // FALSCH, weil der String durch doppelte
 +                               // Anführungszeichen markiert wird und
 +                               // doppelte Anführungszeichen darin vorkommen.
 +// Verteilen des Strings aus mehrere Zeilen - oft sinnvoll
 +// Aber meistens ist hier text() noch viel sinnvoller
 +html('
 +  <h1>Hallo Welt!</h1>
 +  <p>Wie geht es dir, Welt?</p>
 +');
 +</code>
de/create/functions/html.txt · Zuletzt geändert: 09.03.2022 11:17 von ruth.noppeney
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki