我正在创建一个定期从服务器接收消息的应用。该消息是一个文本字符串,其中包含其中的URL。这可能看起来像:
“I’m just a string with this URL “ +<a href="http://www.somewhere.com">Somewhere.com</a>+ “ that I’d like you to visit.”
这条消息在htmlText中出现在TextField内部,我希望AIR让这条消息的接收者只需点击URL子字符串即可向URL启动浏览器。
我知道如何做到这一点'艰难的方式:'使用正则表达式查找URL,复制URL子字符串,将其分配给URLRequest,然后在点击整个字符串的任何部分时导航到TooTo()。
是否有更简洁的方法将子字符串作为TouchEvent或MouseEvent的目标?
答案 0 :(得分:1)
尝试对服务器发送的字符串进行URL编码,然后在Flash将其添加到将htmlText属性设置为true的TextField时对其进行取消编码。 http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001601.html
如果您使用的是PHP,请使用url encode执行此操作。 http://php.net/manual/en/function.urlencode.php
要在Flash中取消编码,请使用unescape(); http://help.adobe.com/en_US/as2/reference/flashlite/WS5b3ccc516d4fbf351e63e3d118ccf9c47f-7ff0.html
e.g。你的字符串不需要任何+
$str = urlencode("I’m just a string with this URL <a href='http://www.somewhere.com'>Somewhere.com</a> that I’d like you to visit.");
另外,注意不要使用&#34;在你的字符串中,因为这将提前终止它。即使用单引号括起您的href网址。