- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
private function formatCallResult(data : String) : URLVariables
{
try
{
var urlVariables : URLVariables = new URLVariables(data);
MonsterDebugger.trace(this,[urlVariables.msgdesc,urlVariables.msgbody]);
var pattern : RegExp = /\[s](.+)\[\/s\]/ig //*new RegExp("\\[s\\]([\\w\\s]+)\\[/s\\]", "ig");*/
var msgdescReady : String = urlVariables.msgdesc.replace(pattern, "<b>$1</b>");
var msgbodyReady : String = urlVariables.msgbody.replace(pattern, "<b>$1</b>");
var pattern2 : RegExp = /\[n](.+)\[\/n\]/ig;
//TODO Write nice regexp instead !
urlVariables.msgdesc = msgdescReady;
urlVariables.msgbody = msgbodyReady;
msgdescReady = urlVariables.msgdesc.replace(pattern2, "<b>$1</b>");
msgbodyReady = urlVariables.msgbody.replace(pattern2, "<b>$1</b>");
urlVariables.msgdesc = msgdescReady;
urlVariables.msgbody = msgbodyReady;
MonsterDebugger.trace(this,[urlVariables.msgdesc,urlVariables.msgbody]);
}
catch (e : Error)
{
}
return urlVariables;
}
Я уже минут 10 силюсь понять, что же оно должно было делать...
Я бы удивился, если бы им пользовались виртуальные люди. )
Впрочем, кто со мной хочет исправить эту досадную ситуацию? ))
http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ea5.html
"For any of these characters to be recognized as literal characters (without the special metacharacter meaning), you must precede the character with the backslash escape character." (После таблицы, в которой присутствует ]).
"]" и "-" необходимо экранировать для представления в character classes (пример приведён). Собственно, так и называется этот раздел. А подраздел неожиданно называется Escape sequences in character classes.
Вы вообще читаете то, на что ссылаетесь?
И нет, это не character class.
Пример: "[/n]".
Для сведения - предыдущий код работал по-разному в разных плеерах, иногда вываливаясь с ошибкой, а иногда - нет. Поэтому автор и поставил его в try-catch. . Почему такое требование - я не знаю, возможно, тяжелое наследие царского режима, но требование соблюдено в точности.
т.е. это вообще не XML формируется, никакого отношения.
Но это не тождественная замена (хотя в некотором отношении лучше). Нужно смотреть по данным, принятно ли, или придётся делать две замены.
Человек просто скопировал регекс ис другого места, или как-то так.