Author: xlawrence
Date: Fri Jan 18 11:38:03 2008
New Revision: 19537

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19537&repname=
=3Djahia
Log:
Added a simple utility tag that takes a String value and outputs the same v=
alue but without all HTML tags it contains

Added:
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/taglibs/html/=
RemoveHtmlTagsTag.java
Modified:
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/utils/JahiaTo=
ols.java
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/taglibs/j=
ahia-html.tld

Added: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/taglibs/ht=
ml/RemoveHtmlTagsTag.java
URL: https://svndev.jahia.net/websvn/filedetails.php?path=3D/branches/JAHIA=
-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/taglibs/html/RemoveHtmlTagsTag.=
java&rev=3D19537&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/taglibs/html/=
RemoveHtmlTagsTag.java (added)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/taglibs/html/=
RemoveHtmlTagsTag.java Fri Jan 18 11:38:03 2008
@@ -0,0 +1,39 @@
+package org.jahia.taglibs.html;
+
+import org.jahia.taglibs.AbstractJahiaTag;
+import org.jahia.utils.JahiaTools;
+
+import java.io.IOException;
+
+/**
+ * @author Xavier Lawrence
+ */
+public class RemoveHtmlTagsTag extends AbstractJahiaTag {
+
+    private static final transient org.apache.log4j.Logger logger =3D
+            org.apache.log4j.Logger.getLogger(RemoveHtmlTagsTag.class);
+
+    private String value;
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value =3D value;
+    }
+
+    public int doStartTag() {
+        try {
+            pageContext.getOut().print(JahiaTools.removeTags(value));
+        } catch (final IOException ioe) {
+            logger.error("Error removing HTML tags", ioe);
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() {
+        value =3D null;
+        return EVAL_PAGE;
+    }
+}

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/utils/J=
ahiaTools.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/utils/JahiaTools.java&rev=3D19537&repn=
ame=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/utils/JahiaTo=
ols.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/utils/JahiaTo=
ols.java Fri Jan 18 11:38:03 2008
@@ -1501,4 +1501,28 @@
         return "file";
     }
 =

+    /**
+     * Remove all html tags
+     *
+     * @param str Input string (html code).
+     * @return Output string
+     */
+    public static String removeTags(final String str) {
+        if (str =3D=3D null) {
+            return "";
+        }
+        final StringBuffer result =3D new StringBuffer(str.length());
+        int startIndex =3D 0;
+        int i =3D str.indexOf("<");
+        while (i !=3D -1) {
+            result.append(str.substring(startIndex, i));
+            i =3D str.indexOf(">", i);
+            if (i !=3D -1) {
+                startIndex =3D i + 1;
+            }
+            i =3D str.indexOf("<", startIndex);
+        }
+        return result.append(str.substring(startIndex, str.length())).toSt=
ring();
+    }
+
 }

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/tag=
libs/jahia-html.tld
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/webapp/WEB-INF/etc/taglibs/jahia-html.tld&rev=3D19537=
&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/taglibs/j=
ahia-html.tld (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/taglibs/j=
ahia-html.tld Fri Jan 18 11:38:03 2008
@@ -711,4 +711,15 @@
             <rtexprvalue>true</rtexprvalue>
         </attribute>
     </tag>
+
+    <tag>
+        <name>remove-html-tags</name>
+        <tagclass>org.jahia.taglibs.html.RemoveHtmlTagsTag</tagclass>
+        <info>Simple utility tag that removes all HTML tags from a String =
value</info>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
 </taglib>

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to