Dokumentation / Programmierung

 convert_br / convert_html / convert_url / convert_links / convert_quote

Wir haben in baseportal mit allerlei Sonderzeichen zu tun, die aus verschiedenen Sprachen und Standards kommen und unterschiedlich behandelt werden müssen. So steht ein ä in HTML z.B. für den Umlaut ä und wenn in einem HTML-Text, der selbst von Hochkommas "..." umschlossen ist ein Hochkomma " vorkommt, so muss dieses mit " umschrieben werden.

Gänzlich anders muss mit Sonderzeichen in einer URL verfahren werden. So darf z.B. kein Leerzeichen darin vorkommen. stattdessen muss dafür ein Plus-Zeichen + stehen. Was aber wenn man nun das Plus-Zeichen + selbst angeben will? Dann muss dieses mit %2b geschrieben werden. Da nun damit das %-Zeichen auch eine besondere Bedeutung hat, muss es mit %25 ebenfalls kodiert werden.

Perl oder Javascript gehen wieder anders mit Sonderzeichen um.

baseportal stellt für diese Fälle eine Reihe von Konvertierungsroutinen bereit:

 
convert_br Wandelt einen Zeilenumbruch in den HTML-Code <br>
convert_links Wandelt Texte innerhalb der Felder, die mit http:// eingegeben wurden, in Links um. Außerdem werden Emailadressen erkannt
convert_html Wandelt &, ", <, > und Umlaute (PC) in die HTML-Pendants &amp;, &quot;, &lt;, &gt;, &auml;, &uuml; usw.
convert_quote Wandelt das Hochkomma ", den Apostroph ' und den Backslash \ in ", \' und \\
convert_url Wandelt %, \, |, &, ", + in den entsprechenden %xx-Code, sowie das Leerzeichen in ein +

Beispiel:

 
<do action=input>

<loop code=perl>

out convert_html($Name)." - ";
out '<a href="/cgi-bin/baseportal.pl?htx=/name/seite&cmd=del&Id=$_id" onclick="return confirm(\''.convert_quote($Name).' wirklich löschen?\')">Löschen?</a>';
out "<p>";

</loop>


"Entschärft" alle HTML-Spezialzeichen des Feldes "Name" und gibt es, zusammen mit einem "Löschen?"-Link aus. Klickt man auf diesen Link erscheint eine Javascript-Abfrage, ob man dies wirklich will. Sollte der Feldinhalt Apostrophe enthalten, werden diese gewandelt, so dass es zu keiner Javascript-Fehlermeldung kommen kann.

 


zurück:  < loop

 


nächstes Kapitel:   > Datum und Zeit   (Hilfe: Abfrage im Formular)


powered in 0.00s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!