PDA

Просмотр полной версии : трабла с амперсантами в Url- ах


FantamasЫЧ
14.02.2004, 16:01
Возникла трабла с амперсантами (ampersand). в URL- ах

Скрипт передаёт из php файла во флеш ролик, переменную link1 эй соответсвует URL на который ссылаеться кнопка.
Дело в том, что флеш просто так не может обработать ссылку типа modules.php?op=modload&name=Sections&file=index
(простые ссылки типа user.php обрабатываються без проблем)

FLASH не переваривает амперсанты ( &) (так как это по моему зарезервированный во флеш спец. Символ) .

Поэтому был написан следующий php скрипт,
ОН заменяет символы & на слово -ampersand-

Ну так вот теперь при помощи скрипта переменной link1 соответсвует URL

modules.php?op=modload-ampersand-name=Sections-ampersand-file=index




Я так понял, что во флеше надо написать скрипт который бы заменил в в переменной link1 слова -ampersand- на знак &. Вот как сделать это я не понял.

silin
14.02.2004, 18:03
chng=function(op){
var s="-ampersand-";
while((n=op.indexOf(s))>=0 )op=op.slice(0,n)+"&"+op.slice(n+length(s),length(op));
return op;
}

trace(chng("modload-ampersand-name=Sections-ampersand-file=index"));// modload&name=Sections&file=index

FantamasЫЧ
15.02.2004, 12:05
Вот я немного изменил код и подставил эго в кнопку, но всё ровно ни чего не выходит :(
Что я сделал не так?

on (release) {


chng=function(op){
var s="-ampersand-";
while((n=op.indexOf(s))>=0 )op=op.slice(0,n)+"&"+op.slice(n+length(s),length(op));
return op;
}


fuck=trace(chng(link5));

getURL(fuck, "_self");
}

silin
15.02.2004, 13:08
trace я написал только для проверки (она не возвращает никакого значения)
в твоем коде будет просто getURL(chng(link5), "_self");

FantamasЫЧ
17.02.2004, 16:50
огромное спасибо!