Показать сообщение отдельно
Старый 22.11.2018, 18:39
djken вне форума Посмотреть профиль Отправить личное сообщение для djken Посетить домашнюю страницу djken Найти все сообщения от djken
  № 3  
Ответить с цитированием
djken
 
Аватар для djken

Регистрация: May 2010
Адрес: Краснодар
Сообщений: 182
Отправить сообщение для djken с помощью ICQ Отправить сообщение для djken с помощью Skype™
caseyryan, вот.

Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
 
	public class Test extends Sprite
	{
		private var _json:Object;
		private var _text:String;
 
		public function Test()
		{
			var ldr:URLLoader = new URLLoader();
			ldr.addEventListener(Event.COMPLETE, onLoadComplete);
			ldr.load(new URLRequest('https://www.instagram.com/p/xCZYTQLmlB/?__a=1'));
		}
 
		private function onLoadComplete(e:Event):void
		{
			_json = JSON.parse(e.currentTarget.data);
			_text = _json.graphql.shortcode_media.edge_media_to_caption.edges[0].node.text;
			trace(_text);
 
			var re:RegExp;
 
			re = /\u26C4/g; // код иконки снеговика U+26C4
			trace('1', _text.match(re)); // РАБОТАЕТ! Выводит снеговика
 
			re = /[\u26C0-\u26CF]/g; // так же пробуем найти снеговика через диапазон кодов
			trace('2', _text.match(re)); // РАБОТАЕТ! Выводит снеговика
 
			re = /(\ud83c\udf84)/g; // теперь ищем иконку елки U+1F384. Т.к. это больше 2 байт, то записывается суррогатной парой - два подряд идущих кода - 2 старших байта U+D83C и 2 младших U+DF84
			trace('3', _text.match(re)); // РАБОТАЕТ! Выводит елку
 
			re = /([\ud800-\udbff][\udc00-\udfff])/g; //  снова ищем елку, но через диапазон. Диапазон всех суррогатных пар - старший U+D800 - U+DBFF и младший U+DC00 - U+DFFF
			trace('4', _text.match(re)); // НЕ РАБОТАЕТ! Ничего не находит.
		}
	}
}
__________________
кто не отвечает, того garbage collector забирает


Последний раз редактировалось djken; 22.11.2018 в 19:28.