Initial implementation of the new Debug Plugin
[phpeclipse.git] / net.sourceforge.phpeclipse.xdebug.core / src / net / sourceforge / phpeclipse / xdebug / core / PHPDebugUtils.java
diff --git a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/core/PHPDebugUtils.java b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/core/PHPDebugUtils.java
new file mode 100644 (file)
index 0000000..8b377a7
--- /dev/null
@@ -0,0 +1,57 @@
+package net.sourceforge.phpeclipse.xdebug.core;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+public class PHPDebugUtils {
+       public static String getAttributeValue (Node CurrentNode, String AttributeName) {
+               String strValue = "";
+               if (CurrentNode.hasAttributes()) {
+                       NamedNodeMap listAttribute = CurrentNode.getAttributes();
+                       Node attribute = listAttribute.getNamedItem(AttributeName);
+                       if (attribute !=null)
+                               strValue = attribute.getNodeValue();
+               }
+               return strValue;
+       }
+       
+       public static String escapeString(String string) {
+               StringBuffer escString=new StringBuffer();
+        Pattern pattern = Pattern.compile("[a-zA-Z0-9\\._-]");
+        Matcher matcher;
+               for (int i= 0; i<string.length(); i++) {
+                       char c=string.charAt(i);
+                       matcher = pattern.matcher(""+c);
+                       if(matcher.find())
+                               escString.append(c);
+                       else {
+                               int hexval=(byte)c;
+                               escString.append("%"+Integer.toHexString(hexval).toUpperCase());
+
+                       }
+               }
+               return escString.toString();
+       }
+       
+       public static String unescapeString(String escString) {
+               StringBuffer string=new StringBuffer();
+               if (escString.indexOf('%')==-1)
+                       return escString;
+               String[] s= escString.split("%");
+               string.append(s[0]);
+               for(int i=1 ; i<s.length;i++) {
+                       int c =Integer.parseInt(s[i].substring(0,2),16);
+                       string.append((char)c);
+                       if(s[i].length()>2)
+                         string.append(s[i].substring(2));
+                       
+               }
+               return string.toString();
+
+       }
+
+
+}