정규식을 사용하여 iOS 6에서 이모티콘을 분석 할 때 머리를 감싸려고합니다.iOS 6 이모티콘 (정규식 포함)
이모티콘의 각 항목을 spannable로 바꾸고 싶습니다. 여기서는 이모티콘 코드를 내 리소스의 이미지로 바꿉니다. 지금까지, 나는 그것을 작동시킬 수 없었다.
내가 지금까지 있습니다.
static public Spannable getSpannable(String str) {
Spannable spannable = spannableFactory.newSpannable(str);
char c = str.charAt(0);
Pattern p = Pattern.compile("([\ud83d\ude01-\ud83d\ude45])");
Matcher m = p.matcher(str);
while (m.find()) {
if (mSpannables.get(m.group()) == null) {
Bitmap b = BitmapFactory.decodeResource(myApp.getAppContext().getResources(), R.drawable.u0033);
ImageSpan imp = new ImageSpan(Bitmap.createScaledBitmap(b, 70, 70, false));
mSpannables.put(m.group(), imp);
}
spannable.setSpan(mSpannables.get(m.group()), m.start(), m.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return spannable;
}
(I이 생산 준비가 아직되지 않습니다 실현, 패턴을 함수가 호출 될 때마다 생성하면 성능 킬러 난 그냥 얻으려고하다 정규 표현식 매칭 작업.)
현재 정규 표현식은 적은 수의 이모티콘과 일치합니다. 나는 그것을 가능한 한 많이 인수 분해하고 그것에 완전한 이모티콘 문자셋을 얻고 싶습니다.
분해하려고하면 더 이상 작동하지 않습니다. 예를 들어,이 작동하지 않습니다
는"\ud83d[\udc00-\uddff]"
심지어 덜 나는 (일 경우) 캐릭터 세트로 매 이모티콘 선물을 일치해야
"[\ue000-\uf8ff]|\ud83c[\udf00-\udfff]|\ud83d[\udc00-\uddff]"
을하려고 할 때.
중복 가능성에
addEmojis
의 구현을 살펴 가질 수있다 [ PHP 이모티콘 찾기 \ [업데이트 exis ting 코드 \]] (http://stackoverflow.com/questions/10564068/php-find-emoji-update-existing-code) – chx