aboutsummaryrefslogtreecommitdiff
path: root/includes/js/dojox/dtl/filter/htmlstrings.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/dtl/filter/htmlstrings.js')
-rw-r--r--includes/js/dojox/dtl/filter/htmlstrings.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/includes/js/dojox/dtl/filter/htmlstrings.js b/includes/js/dojox/dtl/filter/htmlstrings.js
new file mode 100644
index 0000000..d4feb93
--- /dev/null
+++ b/includes/js/dojox/dtl/filter/htmlstrings.js
@@ -0,0 +1,59 @@
+if(!dojo._hasResource["dojox.dtl.filter.htmlstrings"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.dtl.filter.htmlstrings"] = true;
+dojo.provide("dojox.dtl.filter.htmlstrings");
+
+dojo.require("dojox.dtl._base");
+
+dojo.mixin(dojox.dtl.filter.htmlstrings, {
+ _escapeamp: /&/g,
+ _escapelt: /</g,
+ _escapegt: />/g,
+ _escapeqt: /'/g,
+ _escapedblqt: /"/g,
+ _linebreaksrn: /(\r\n|\n\r)/g,
+ _linebreaksn: /\n{2,}/g,
+ _linebreakss: /(^\s+|\s+$)/g,
+ _linebreaksbr: /\n/g,
+ _removetagsfind: /[a-z0-9]+/g,
+ _striptags: /<[^>]*?>/g,
+ escape: function(value){
+ // summary: Escapes a string's HTML
+ var dh = dojox.dtl.filter.htmlstrings;
+ return value.replace(dh._escapeamp, '&amp;').replace(dh._escapelt, '&lt;').replace(dh._escapegt, '&gt;').replace(dh._escapedblqt, '&quot;').replace(dh._escapeqt, '&#39;');
+ },
+ linebreaks: function(value){
+ // summary: Converts newlines into <p> and <br />s
+ var output = [];
+ var dh = dojox.dtl.filter.htmlstrings;
+ value = value.replace(dh._linebreaksrn, "\n");
+ var parts = value.split(dh._linebreaksn);
+ for(var i = 0; i < parts.length; i++){
+ var part = parts[i].replace(dh._linebreakss, "").replace(dh._linebreaksbr, "<br />")
+ output.push("<p>" + part + "</p>");
+ }
+
+ return output.join("\n\n");
+ },
+ linebreaksbr: function(value){
+ // summary: Converts newlines into <br />s
+ var dh = dojox.dtl.filter.htmlstrings;
+ return value.replace(dh._linebreaksrn, "\n").replace(dh._linebreaksbr, "<br />");
+ },
+ removetags: function(value, arg){
+ // summary: Removes a space separated list of [X]HTML tags from the output"
+ var dh = dojox.dtl.filter.htmlstrings;
+ var tags = [];
+ var group;
+ while(group = dh._removetagsfind.exec(arg)){
+ tags.push(group[0]);
+ }
+ tags = "(" + tags.join("|") + ")";
+ return value.replace(new RegExp("</?\s*" + tags + "\s*[^>]*>", "gi"), "");
+ },
+ striptags: function(value){
+ // summary: Strips all [X]HTML tags
+ return value.replace(dojox.dtl.filter.htmlstrings._striptags, "");
+ }
+});
+
+}