📄 htmlchunkimpl.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: HTMLChunkImpl.java
package org.gudy.azureus2.core3.html.impl;
import java.util.ArrayList;
import java.util.List;
import org.gudy.azureus2.core3.html.HTMLTable;
// Referenced classes of package org.gudy.azureus2.core3.html.impl:
// HTMLTableImpl
public class HTMLChunkImpl
{
String content;
protected HTMLChunkImpl()
{
}
protected HTMLChunkImpl(String _content)
{
content = _content;
}
protected void setContent(String str)
{
content = str;
}
public String[] getLinks()
{
int pos = 0;
List res = new ArrayList();
do
{
int p1 = content.indexOf("<", pos);
if (p1 == -1)
break;
p1++;
int p2 = content.indexOf(">", p1);
if (p2 == -1)
break;
pos = p2;
String tag = content.substring(p1, p2).trim();
String lc_tag = tag.toLowerCase();
if (lc_tag.startsWith("a "))
{
int hr_start = lc_tag.indexOf("href");
if (hr_start != -1)
{
hr_start = lc_tag.indexOf("=", hr_start);
if (hr_start != -1)
{
for (hr_start++; hr_start < lc_tag.length() && Character.isWhitespace(lc_tag.charAt(hr_start)); hr_start++);
int hr_end;
for (hr_end = hr_start; hr_end < lc_tag.length() && !Character.isWhitespace(lc_tag.charAt(hr_end)); hr_end++);
String href = tag.substring(hr_start, hr_end).trim();
if (href.startsWith("\""))
href = href.substring(1, href.length() - 1);
res.add(href);
}
}
}
} while (true);
String res_array[] = new String[res.size()];
res.toArray(res_array);
return res_array;
}
public HTMLTable[] getTables()
{
String tables[] = getTagPairContent("table");
HTMLTable res[] = new HTMLTable[tables.length];
for (int i = 0; i < tables.length; i++)
res[i] = new HTMLTableImpl(tables[i]);
return res;
}
public String[] getTags(String tag_name)
{
tag_name = tag_name.toLowerCase();
String lc_content = content.toLowerCase();
int pos = 0;
List res = new ArrayList();
do
{
int p1 = lc_content.indexOf((new StringBuilder()).append("<").append(tag_name).toString(), pos);
if (p1 == -1)
break;
int p2 = lc_content.indexOf(">", p1);
if (p2 == -1)
break;
res.add(content.substring(p1 + 1, p2));
pos = p2 + 1;
} while (true);
String x[] = new String[res.size()];
res.toArray(x);
return x;
}
public String[] getTagPairContent(String tag_name)
{
tag_name = tag_name.toLowerCase();
String lc_content = content.toLowerCase();
int pos = 0;
List res = new ArrayList();
int level = 0;
int start_pos = -1;
do
{
int start_tag_start = lc_content.indexOf((new StringBuilder()).append("<").append(tag_name).toString(), pos);
int end_tag_start = lc_content.indexOf((new StringBuilder()).append("</").append(tag_name).toString(), pos);
if (level == 0)
{
if (start_tag_start == -1)
break;
start_pos = start_tag_start;
level = 1;
pos = start_pos + 1;
continue;
}
if (end_tag_start == -1)
break;
if (start_tag_start == -1 || end_tag_start < start_tag_start)
{
if (level == 1)
{
String tag_contents = content.substring(start_pos + tag_name.length() + 1, end_tag_start);
res.add(tag_contents);
}
level--;
pos = end_tag_start + 1;
continue;
}
if (start_tag_start == -1)
break;
level++;
pos = start_tag_start + 1;
} while (true);
String res_array[] = new String[res.size()];
res.toArray(res_array);
return res_array;
}
public String getContent()
{
return content;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -