Kluczem jest ten fragment kodu:
<tr><td aling=center><script type="text/javascript" src=, gdyż pojawia się tylko raz i określa początek kodu, końcem jest:
</script>, tak więc funkcja parsująca powinna wyglądać tak:
String ReturnCaptchaUrl(String Text)
{
String Result = "";
String k1 = "<tr><td aling=center><script type=\"text/javascript\" src=", k2 = "</script>";
int x = Text.Pos(k1);
if(x > 0)
{
Result = Text.SubString( x + k1.Length() + 1, Text.Length() ); // x + k1.Length() + "
int y = Result.Pos(k2);
if(y > 0)
{
return Result.SubString( 1, y - 3 ); // y - "><
}
}
return Result;
}
Funkcja
Pos zawsze przeszukuje łańcuch od początku, dlatego po odnalezieniu klucza początku do zmiennej
Result przepisuję łańcuch znaku, ale od wyszukanej pozycji skróconej o długość przeszukiwanego klucza, potem szukam dalej ale już w zmiennej
Result klucza końcowego. Następnie wycinam z tego interesujący mnie fragment tekstu.