JSP/Java - strip_tags() PHP like function

Another PHP function that is very used is strip_tags.
This function tries to return a string with all HTML tags stripped from a given string.

   1:      public static String strip_tags(String text, String allowedTags) {
   2:          String[] tag_list = allowedTags.split(",");
   3:          Arrays.sort(tag_list);
   4:   
   5:          final Pattern p = Pattern.compile("<[/!]?([^\\\\s>]*)\\\\s*[^>]*>",
   6:                  Pattern.CASE_INSENSITIVE);
   7:          Matcher m = p.matcher(text);
   8:   
   9:          StringBuffer out = new StringBuffer();
  10:          int lastPos = 0;
  11:          while (m.find()) {
  12:              String tag = m.group(1);
  13:              // if tag not allowed: skip it
  14:              if (Arrays.binarySearch(tag_list, tag) < 0) {
  15:                  out.append(text.substring(lastPos, m.start())).append(" ");
  16:   
  17:              } else {
  18:                  out.append(text.substring(lastPos, m.end()));
  19:              }
  20:              lastPos = m.end();
  21:          }
  22:          if (lastPos > 0) {
  23:              out.append(text.substring(lastPos));
  24:              return out.toString().trim();
  25:          } else {
  26:              return text;
  27:          }
  28:      }