added HTML.encode (in Scala), similar to HTML.output in ML;
authorwenzelm
Sun, 30 May 2010 23:40:24 +0200
changeset 37200 0f3edc64356a
parent 37199 48a4414eb846
child 37201 8517a650cfdc
added HTML.encode (in Scala), similar to HTML.output in ML;
src/Pure/Thy/html.scala
--- a/src/Pure/Thy/html.scala	Sun May 30 21:59:15 2010 +0200
+++ b/src/Pure/Thy/html.scala	Sun May 30 23:40:24 2010 +0200
@@ -11,6 +11,24 @@
 
 object HTML
 {
+  // encode text
+
+  def encode(text: String): String =
+  {
+    val s = new StringBuilder
+    for (c <- text.iterator) c match {
+      case '<' => s ++= "&lt;"
+      case '>' => s ++= "&gt;"
+      case '&' => s ++= "&amp;"
+      case '"' => s ++= "&quot;"
+      case '\'' => s ++= "&#39;"
+      case '\n' => s ++= "<br/>"
+      case _ => s += c
+    }
+    s.toString
+  }
+
+
   // common elements and attributes
 
   val BODY = "body"