I want my application to be able to read settings saved somewhere online (like in this case, deviantart sta.sh - http://sta.sh/024wsd5s7k0z
). Obviously I get to work with is source code and the problem is to find substring contained between [startSettingsBlock]
and [endSettingsBlock]
. (<br />
is there to ensure I take the right piece of text.)
The part I'm interested in, line 207:
[number]=42<br />[character]=k<br />[amount]=6<br />[gay]=false<br />[ponies]=cool<br />[whazz]=idiot<br />[thisapp]=is gonna be awesome<br />[rainbow dash]=best pony<br />[lol]=sucks<br />[alice]=hasacat<br />[preferences]=3;6;8<br />[variable]=alice has a cat<br />[slowly]=getting there<br />[poop]=face
My code so far:
//bunch of imports here
valueButton.addEventListener(MouseEvent.CLICK, requestValue);
var pageLoader:URLLoader = new URLLoader();
var pageRequest:URLRequest = new URLRequest();
pageRequest.url = "http://sta.sh/024wsd5s7k0z";
pageRequest.method = URLRequestMethod.GET;
var pageContext:LoaderContext = new LoaderContext();
pageContext.checkPolicyFile = true;
pageLoader.addEventListener(Event.COMPLETE, readParams);
pageLoader.load(pageRequest);
var opening:String = "[startSettingsBlock]<br />";
var closing:String = "<br />[endSettingsBlock]";
var rawSettings:String;
function requestValue(e:Event){
var toFind:String = "["+inputTextField.text+"]=";
var variableStartIndex:int = rawSettings.indexOf(toFind)+toFind.length;
var variableEndIndex:int = variableStartIndex;
//once I have raw settings (in any form), I do magics.
valueTextField.text = rawSettings.substring(variableStartIndex, variableEndIndex);
}
function readParams(e:Event){
rawSettings = pageLoader.data.substring(
pageLoader.data.indexOf(opening)+opening.length,
pageLoader.data.indexOf(closing));
}
After I run readParams, rawSettings
equals
<!DOCTYPE html>
<!--[if I
which is the beginning of the source code.