Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex as3 Flex使文本URL可点击_Apache Flex_Actionscript 3_Url - Fatal编程技术网

Apache flex as3 Flex使文本URL可点击

Apache flex as3 Flex使文本URL可点击,apache-flex,actionscript-3,url,Apache Flex,Actionscript 3,Url,在AIR应用程序中,我通过JSON加载一组任意文本,将其加载到对象中,并通过自定义渲染器显示。我想有网址是可点击的。所以我确信这是可能的,通过一些疯狂的正则表达式(就像我在php中发现的那样),但是,Flex是Flex,我很惊讶没有一些内置的功能,我只是没有找到,或者,没有找到,有人创建了一个库来做这件事 (我同样感到惊讶的是,这个问题以前从未在这里被问过。我预计与这个问题的联系会让我大吃一惊) 如果做不到这一点,有人想帮你做一些疯狂的正则表达式吗?;> 提前谢谢 您可以使用以下正则表达式替换文

在AIR应用程序中,我通过JSON加载一组任意文本,将其加载到对象中,并通过自定义渲染器显示。我想有网址是可点击的。所以我确信这是可能的,通过一些疯狂的正则表达式(就像我在php中发现的那样),但是,Flex是Flex,我很惊讶没有一些内置的功能,我只是没有找到,或者,没有找到,有人创建了一个库来做这件事

(我同样感到惊讶的是,这个问题以前从未在这里被问过。我预计与这个问题的联系会让我大吃一惊)

如果做不到这一点,有人想帮你做一些疯狂的正则表达式吗?;>


提前谢谢

您可以使用以下正则表达式替换文本中实际链接的URL:

str = str.replace(/((https?|ftp|telnet|file):((\/\/)|(\\\\))+[\w\d:#@%\/;$()~_?\+-=\\\.&]*)/g, "<u><a href='$1'>$1</a></u>");
然后在处理程序上打开URL:

public function linkHandler(event:TextEvent):void {
    navigateToURL(new URLRequest(event.text), '_blank');
}
除了那个正则表达式,我还没有测试过这段代码,但它应该可以工作。
此外,可能对您有所帮助。

您可以使用以下正则表达式替换文本中的URL以获得实际链接:

str = str.replace(/((https?|ftp|telnet|file):((\/\/)|(\\\\))+[\w\d:#@%\/;$()~_?\+-=\\\.&]*)/g, "<u><a href='$1'>$1</a></u>");
然后在处理程序上打开URL:

public function linkHandler(event:TextEvent):void {
    navigateToURL(new URLRequest(event.text), '_blank');
}
除了那个正则表达式,我还没有测试过这段代码,但它应该可以工作。
另外,可能会对您有所帮助。

我想补充一点,以下正则表达式对于验证URL可能更有用:


/((f|ht{1}tp:\/)[-a-zA-Z0-9@:%\+.~\\?&\/=]+/g

我想补充一点,下面的正则表达式对于验证URL可能更有用:


/((f | ht{1}tp:\/)[-a-zA-Z0-9:%\+.~\?&/=]+/g

嘿,谢谢。我把这个项目放了一分钟,所以没有及时回到这个账单来感谢你。我会尝试一下,看看结果如何。谢谢你为我理解疯狂的正则表达式!这实际上也是我代码中的一个问题,我用这种方式修复了它,所以没问题!:)嘿,谢谢。我把这个项目放了一分钟,所以没有及时回到这个账单来感谢你。我会尝试一下,看看结果如何。谢谢你为我理解疯狂的正则表达式!这实际上也是我代码中的一个问题,我用这种方式修复了它,所以没问题!:)精彩的。你能解释一下为什么这个正则表达式比另一个更可取吗?(我没有挑战它,我只是好奇。)有一件事我不明白,那就是为什么{1}是必要的。“一个且只有一个匹配”不是默认值吗?太好了。你能解释一下为什么这个正则表达式比另一个更可取吗?(我没有挑战它,我只是好奇。)有一件事我不明白,那就是为什么{1}是必要的。“一个且只有一个匹配”不是默认值吗?