Update of
/var/cvs/contributions/CMSContainer_Modules/glossary/src/java/com/finalist/cmsc/module/glossary
In directory
james.mmbase.org:/tmp/cvs-serv14471/glossary/src/java/com/finalist/cmsc/module/glossary
Modified Files:
Tag: b1_5
Glossary.java
Log Message:
CMSC-1304 Words in <a> and <input> tags were not skipped
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/glossary/src/java/com/finalist/cmsc/module/glossary
See also: http://www.mmbase.org/jira/browse/CMSC-1304
Index: Glossary.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Modules/glossary/src/java/com/finalist/cmsc/module/glossary/Glossary.java,v
retrieving revision 1.8.2.2
retrieving revision 1.8.2.3
diff -u -b -r1.8.2.2 -r1.8.2.3
--- Glossary.java 4 Mar 2009 12:47:49 -0000 1.8.2.2
+++ Glossary.java 4 Mar 2009 14:56:29 -0000 1.8.2.3
@@ -46,17 +46,21 @@
}
- private boolean isInFormatedFragment(String material, String keywords, int
keywordStartPosition) {
- Pattern pattern = Pattern.compile(String.format("<[abh][^</]*%s[^>]*>",
keywords));
- Matcher matcher = pattern.matcher(material);
+ private boolean isInFormatedFragment(String material, String keyword, int
keywordStartPosition) {
+ String materialBefore = material.substring(0, keywordStartPosition);
- while (matcher.find()) {
- int start = matcher.start();
- int end = matcher.end();
+ int openA = materialBefore.lastIndexOf("<a");
+ int closeA = materialBefore.lastIndexOf("/a>");
+ if(openA > closeA) {
+ return true;
+ }
- if (keywordStartPosition + keywords.length() < end &&
keywordStartPosition > start)
+ int openInput = materialBefore.lastIndexOf("<input");
+ int closeInput = materialBefore.lastIndexOf(">");
+ if(openInput > closeInput) {
return true;
}
+
return false;
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs