0

我正在尝试解析出一段 url 字符串以便在 Flex 中进行比较。我对 flex 真的很陌生,所以我只想写我想写的东西,不确定这段代码是否有效。

// urlone: http://www.helloworld.com/hello
// urltwo: http://www.goodbye.com/
public function compareURLHost(urlone:String,urltwo:String):Boolean
{
   var displayURL:URL = URL(urlone);
   var compareURL:URL = URL(urltwo);

   // compare www.helloworld.com to www.goodbye.com
   if(displauURL.hostname == compareURL.hostname)
      return true;

   return false;
}
4

2 回答 2

1

我认为您正在寻找URLUtils。您可以获取端口、主机名、服务器名等。

于 2012-08-29T20:39:13.897 回答
0

URLUtils 可以提供帮助,但它们并不总是您需要的。例如,我有一个项目需要从 url 中删除单个目录。这听起来可能很愚蠢,但客户希望他们公开查看的 XML 文件不显示实际的 URL,这就是他们的解决方案。在那种情况下,我做了:

var url:String = "http://someurl.com/dir1/dir2/file.ext"
url = url.slice(url.indexOf('dir1'),5); //the four chars of the url + "/"
trace (url); //http://someurl.com/dir2/file.ext

您还可以使用 String.replace 将一组字符替换为另一组字符(例如,如果我的客户想通过在 url 中交换调用 dir1 dir5 来隐藏 url)

var url:String = "http://someurl.com/dir5/dir2/file.ext"
var patten:RegExp = /dir5/;
url.replace(pattern,"dir1");
trace (url); //http://someurl.com/dir1/dir2/file.ext 
于 2012-08-29T22:14:04.397 回答