Index: jbidwatcher/trunk/src/com/jbidwatcher/util/html/JHTMLParser.java =================================================================== --- jbidwatcher/trunk/src/com/jbidwatcher/util/html/JHTMLParser.java (revision 508) +++ jbidwatcher/trunk/src/com/jbidwatcher/util/html/JHTMLParser.java (revision 570) @@ -7,9 +7,12 @@ import com.jbidwatcher.util.config.JConfig; import com.jbidwatcher.util.config.ErrorManagement; +import com.jbidwatcher.util.xml.XMLElement; import java.util.Vector; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Created by IntelliJ IDEA. @@ -40,16 +43,36 @@ protected void parse(StringBuffer trueBuffer) { boolean inQuote=false, inTag=false, inComment=false; - boolean suspicious = false; - int firstClose=0; - int charStep, start=0; char ch, prev = '\0', next = '\0'; - boolean spitNextTag = false; - trueBuffer = new StringBuffer(trueBuffer.toString().replaceAll("(|)", "")); + StringBuffer sb; + Matcher m; + if(JConfig.queryConfiguration("ebay.titleFix", "true").equals("true")) { + sb = new StringBuffer(trueBuffer.length()); + m = Pattern.compile("(.*)").matcher(trueBuffer); + String quotedTitle = null; + while(m.find()) { + if(quotedTitle == null) quotedTitle = "" + XMLElement.encodeString(m.group(1)) + ""; + m.appendReplacement(sb, quotedTitle); + } + m.appendTail(sb); + trueBuffer = sb; + } + + sb = new StringBuffer(trueBuffer.length()); + m = Pattern.compile("(|)").matcher(trueBuffer); + while(m.find()) { + m.appendReplacement(sb, ""); + } + m.appendTail(sb); + trueBuffer = sb; + int bufLen = trueBuffer.length(); - - for(charStep=0; charStep1) prev = trueBuffer.charAt(charStep-1);