% 20 и другие разные вещи в моем динамическом тексте

Как получить символы html из моего динамического текста, загруженного из текстового файла?

Вот как выглядит мой загруженный текст в моем .swf:

Adaptasi%20morfologi%20adalah%20penyesuaian%2E%2E%2E%0D%0A%0D%0A=&onLoad=%5Btype%20Function%5D

И это мой actioncript:

var select_obj:LoadVars = new LoadVars();
select_obj.onLoad = function(success:Boolean) {
if (success) {
isi.text = select_obj;
trace (select_obj);
} else {
trace('error...');
}
};

filepath = "http://localhost/adaptasi/";
select_obj.sendAndLoad(filepath + "morfologi.php", select_obj, "GET");

Вот мой PHP-скрипт:

<?php

mysql_pconnect ("localhost", "root", "");
mysql_select_db ("adaptasi");

$qResult = mysql_query ("SELECT isi FROM materi WHERE id = 1");

$nRows = mysql_num_rows($qResult);

$rString ="";

for ($i=0; $i< $nRows; $i++){

$row = mysql_fetch_array($qResult);

$rString .= $row['isi'];

}

echo $rString;

?>

0

Решение

Чтобы получить значения, отправленные вашим сценарием, вы должны вернуть их в виде строки запроса в кодировке URL, содержащей пары имя / значение, например:

message=hello&from=user1&to=user2

который может быть возвращен вашим PHP-скриптом:

<?php
echo "message=hello&from=user1&to=user2";
?>

тогда LoadVars объект будет декодировать (анализировать) эту переменную строку автоматически для вас как свойства LoadVars объект:

var result:LoadVars = new LoadVars();
result.onLoad = function(success:Boolean) {
if (success) {
trace(result.message);  // gives : hello
trace(result.from);     // gives : user1
trace(result.to);       // gives : user2
trace(result);          // gives : to=user2&from=user1&message=hello&onLoad=%5Btype%20Function%5D
} else {
trace('error !');
}
};
result.sendAndLoad(filepath, result);

Надеюсь, что это может помочь.

1

Другие решения

использование urldecode () функция:

<?PHP
$string = "Adaptasi%20morfologi%20adalah%20penyesuaian%2E%2E%2E%0D%0A%0D%0A=&onLoad=%5Btype%20Function%5D";
//$string = $_GET['variable'];
$rString = urldecode($string);
echo $rString;
1

Я хочу стереть% 20,% 2E% 2E% 2E% и т. Д.

Для этого вы можете попробовать либо decodeURIComponent или просто decodeURI. Прочитайте это руководство для различий (но для вашего текущего результата, любое из этих двух хорошо).

Пример с вашим кодом:

var result:LoadVars = new LoadVars();
var filepath:String;

filepath = "localhost/adaptasi/";
result.sendAndLoad(filepath + "morfologi.php", result, "GET");

result.onLoad = function(success:Boolean)
{
if ( success )
{
text_morfo.text = result;
text_morfo = decodeURIComponent( text_morfo );

trace("success route : "); trace( text_morfo );
}
else { trace("error in result..."); }
}

Также я не знаю, что еще ваш AS & PHP-код добавится позже, поэтому, если вам нужен инструмент быстрого тестирования, вы можете попробовать эта ссылка. Просто поместите полученные результаты в нижнее поле и выберите вариант (например, экранирования в, decodeURI так далее). Это быстро поможет вам увидеть, какую команду лучше всего использовать в вашем коде AS.

1