wchar_t *BabylonWindow::FindTranslatedText(wchar_t* html)
{
	if (!ParseJSON(html, L"\"translatedText\":\"", NULL))
		return NULL;
	for (wchar_t *p = html; p = wcsstr(p, L"\",\""); memcpy(p, L"  \n", 3*sizeof(wchar_t)));
	UnescapeHtml(html, 0);
	return html;
}
wchar_t *ExciteWindow::FindTranslatedText(wchar_t* html)
{
	int slen;
	wchar_t *start = GetSubstring(html, L"name=\"after\"", L"</textarea>", &slen);
	if (!slen)
	{
		start = GetSubstring(html, L"name=after", L"</textarea>", &slen);
		if (!slen)
			return NULL;
	}
	wchar_t *out = wcschr(start, L'>');
	if (!out || out - start >= slen)
		return NULL;
	start[slen] = 0;
	UnescapeHtml(++out, 0);
	return out;
}
wchar_t *BabelfishWindow::FindTranslatedText(wchar_t* html)
{
	int slen;
	wchar_t *start = GetSubstring(html, L"<li class=\"s_after\">", L"</li>", &slen);
	if (!slen)
		return NULL;
	start[slen] = 0;
	if (start[slen - 1] == ')')
	{
		wchar_t *p;
		for (p = start + slen - 2; p > start && (*p | 0x20u) - 'a' <= 'z' - 'a'; p--);
		if (p[0] == '(' && p[-1] == ' ')
			p[-1] = 0;
	}
	UnescapeHtml(start, 0);
	return start;
}
示例#4
0
String UnescapeHtml(const char *str)
{
	String rtn;
	UnescapeHtml(rtn, str);
	return rtn;
}