1 if(!dojo._hasResource["dojox.dtl.filter.htmlstrings"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2 dojo._hasResource["dojox.dtl.filter.htmlstrings"] = true;
3 dojo.provide("dojox.dtl.filter.htmlstrings");
5 dojo.require("dojox.dtl._base");
7 dojo.mixin(dojox.dtl.filter.htmlstrings, {
13 _linebreaksrn: /(\r\n|\n\r)/g,
14 _linebreaksn: /\n{2,}/g,
15 _linebreakss: /(^\s+|\s+$)/g,
17 _removetagsfind: /[a-z0-9]+/g,
18 _striptags: /<[^>]*?>/g,
19 escape: function(value){
20 // summary: Escapes a string's HTML
21 var dh = dojox.dtl.filter.htmlstrings;
22 return value.replace(dh._escapeamp, '&').replace(dh._escapelt, '<').replace(dh._escapegt, '>').replace(dh._escapedblqt, '"').replace(dh._escapeqt, ''');
24 linebreaks: function(value){
25 // summary: Converts newlines into <p> and <br />s
27 var dh = dojox.dtl.filter.htmlstrings;
28 value = value.replace(dh._linebreaksrn, "\n");
29 var parts = value.split(dh._linebreaksn);
30 for(var i = 0; i < parts.length; i++){
31 var part = parts[i].replace(dh._linebreakss, "").replace(dh._linebreaksbr, "<br />")
32 output.push("<p>" + part + "</p>");
35 return output.join("\n\n");
37 linebreaksbr: function(value){
38 // summary: Converts newlines into <br />s
39 var dh = dojox.dtl.filter.htmlstrings;
40 return value.replace(dh._linebreaksrn, "\n").replace(dh._linebreaksbr, "<br />");
42 removetags: function(value, arg){
43 // summary: Removes a space separated list of [X]HTML tags from the output"
44 var dh = dojox.dtl.filter.htmlstrings;
47 while(group = dh._removetagsfind.exec(arg)){
50 tags = "(" + tags.join("|") + ")";
51 return value.replace(new RegExp("</?\s*" + tags + "\s*[^>]*>", "gi"), "");
53 striptags: function(value){
54 // summary: Strips all [X]HTML tags
55 return value.replace(dojox.dtl.filter.htmlstrings._striptags, "");