flash與字串 替換表情

2021-10-22 23:35:54 字數 1862 閱讀 5179

今天想記下一些筆記,先感謝一下六指小龍龍的幫忙。其實這個是他寫的,我在基礎上修改一點,順便記錄一下相關的記錄。在製作微博客戶端時候,可以加入這個功能去。製作要求是替換中括號裡面的內容,讓他變成相關的鏈結。

例如:[ 哈哈 ] 對應鏈結是

[ 呵呵] 對應鏈結是

[嘻嘻 ] 對應鏈結是

替換出來的變成html的形式了,這樣可以在flash 10 裡面利用新的文字引擎製作相關的事情了。至於9.0 其實很多人都已經實現了,這個網上很多原始碼,而且解決方法很多很實用。我們只是理解一下思路就行。至於辦法多種多樣,我們去記錄一下。

例如一段微博當中內容:當中會返回一些帶有表情的字串,如[哈哈] [太開心] [嘻嘻] 這樣的表情,那麼採用正則去替換相應的事情就是一件有趣的事情,因為正則強大可以解決這些字串相應替換的問題,但是正則相對來講比較難看,要經常寫才能有感覺,個人感覺有時候吃不消。

現在測試一段文字:

如: 這是乙個大壞蛋,[哈哈],不過他對我好好的[嘻嘻] [呵呵] ,你說是不是呢omg[888]?

測試環境在flash cs5的情況下進行,採用兩種文字進行對比。一種是傳統的textfield 另外一種是tlf,對比出來的結果是不相同。

採用方式差別就可以在圖中看出來,但是相對來講tlf 不是適應很多場景,adobe官方文件裡面有提及到這種新文字引擎,弊端的之處。所以使用的時候根據開發而定,而目前來講,對付這個大怪物確實有點難消耗。畢竟tlf設計有點讓人難以接受。比起textfield的簡潔我會傾向這種設計。

注意:tlftext 是在舞台建立的tfl文字。

可以以下面的測試進行測試:

a:這是乙個大壞蛋不過他對我好好的你說是不是呢omg?(不含表情)

b:"這是乙個大壞蛋,[hh],[哈哈]不過他對我好好的[笨蛋] [ok] ,[2dk]你說是不是呢omg[888]?";(含有表情)

c:這是乙個大壞蛋,[hh],不過他對我好好的[笨蛋] [ok] ,[2dk]你說是不是呢omg[888]?";(含有中括號 不含有對應的表情)

測試**:

import flash.text.textfield; var str:string = "這是乙個大壞蛋,[哈哈],不過他對我好好的[嘻嘻] [呵呵] ,你說是不是呢omg[888]?"; var msg:textfield=new textfield(); msg.autosize = textfieldautosize.left; msg.multiline = true;//允許多行,要

發揮作用就要設定 msg.wordwrap = true;//自動換行,要能看就必須要設定 msg.width = 200; msg.height = 200; msg.border=true; addchild(msg); var mystring:array=new array(); mystring.push("[呵呵]","[嘻嘻]","[哈哈]","[愛你]","[暈]","[淚]","[饞嘴]","[抓狂]","[哼]","[可愛]"); //表情位址 var rep:array=new array(); rep.push("

package { public final class stringutil { public static function changeface(str:string,facestring:array,urlarray:array):string { var newstr:string = ""; //定義正則法規,匹配中括號裡面漢字 var mypattern:regexp=/\[([\u4e00-\u9fa5]*)\]/g; //定義搜尋字串,替換陣列 if (mypattern.test(str)) { //定義搜尋到匹配陣列儲存起來 var pattern:array = str.match(mypattern); //使用雙迴圈替換中文字串 for (var i:int=0; i

flash與字串 字串與屬性

有時候,我們想通過設定乙個displayobject 類是屬性值,只是需要通過點來引用即可。有時候,通過字串也可以引用顯示物件裡面的屬性值。下面舉個例子 例如我有乙個movieclip 物件,已經建立在舞台上,我們用mc表示他的物件。設定mc.x 100,那麼你看到的,mc在座標100的位置了。如果...

flash與字串 去除重複字串

剛剛看到網上一些字串操作,有時候需要用到的一些字串操作,記錄一下以便日後需要。var str string aabbccddeeffaa 刪除重複字串 function delrepeatstring str string string return result var starttime uin...

校驗字串是否包含表情 過濾字串表情

import org.apache.commons.lang3.stringutils typename 過濾表情 description todo author nanci time 2020年9月15日下午4 29 04 public class emojifilterutils else el...