package polly.linkexpander.core.grabbers;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import polly.linkexpander.MSG;
public class PhpBBLinkGrabber extends AbstractHttpRequestGrabber {
private final static Pattern LINK_PATTERN = Pattern.compile(
"\\S+/forum/viewtopic\\.php\\?\\S+"); //$NON-NLS-1$
private final static Pattern TITLE_PATTERN = Pattern.compile(
"<h2><a[^>]+>([^<]+)"); //$NON-NLS-1$
private final static int TITLE_GROUP = 1;
@Override
public Pattern getLinkPattern() {
return LINK_PATTERN;
}
@Override
public String processResponseLine(String line) {
final Matcher m = TITLE_PATTERN.matcher(line);
if (m.find()) {
return MSG.bind(MSG.phpBBTopic,
line.substring(m.start(TITLE_GROUP), m.end(TITLE_GROUP)));
}
return null;
}
@Override
public String getLink(String input, Matcher matcher) {
return new String(matcher.group());
}
}