从字符串中获取 Flex 中的部分 URL

Posted

技术标签:

【中文标题】从字符串中获取 Flex 中的部分 URL【英文标题】:get parts of a URL in Flex from a string 【发布时间】:2012-08-24 12:45:55 【问题描述】:

我正在尝试解析 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;

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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 

【讨论】:

以上是关于从字符串中获取 Flex 中的部分 URL的主要内容,如果未能解决你的问题,请参考以下文章