2015-02-12 67 views
0

我正在創建一個應用程序,定期從服務器接收消息。該消息是一個文本字符串,其中包含URL中的某個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,然後在輕敲整個字符串的任何部分時使用navigateToURL()。

是否有一個更好的方法來使一個子串成爲TouchEvent或MouseEvent的目標?

+0

不該字符串實際上包含這些引號和+符號嗎?您知道'TextField'/htmlText'支持呈現''標記作爲鏈接,對吧? – Aaron 2015-02-12 02:49:31

+0

嗯,我不知道。沒有得到預期的行爲,我會稍微努力一點,謝謝 – Craig 2015-02-12 06:16:49

+0

默認情況下,它不會讓鏈接看起來不同(下劃線,藍色等),但如果語法有效,它會變成鏈接。使用'StyleSheet' CSS進行設計e鏈接你想要的。 – Aaron 2015-02-12 15:10:53

回答

1

嘗試URL編碼服務器發送的字符串,然後在Flash將其添加到HTMLText屬性設置爲true的TextField時對其進行解碼。 http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001601.html

如果您使用的是PHP,請使用url編碼完成此操作。 http://php.net/manual/en/function.urlencode.php

爲了在Flash中取消對此代碼的編碼,請使用unescape(); http://help.adobe.com/en_US/as2/reference/flashlite/WS5b3ccc516d4fbf351e63e3d118ccf9c47f-7ff0.html

例如您的字符串不需要任何+的

$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."); 

此外,還要注意不要用「你的字符串裏面,因爲這將提前終止它。即使用單引號將您的href網址。