![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Вот в чём проблема... flash посылает xml данные через loadVars в php скрипт.. который выглядет скажем так:
А когда делаеш echo на стороне php, этот xml выглядет так: Вследствии чего (насколько я понял) когда я парсю xml на стороне php с помощью класса simplexml, выдаёт такое: Цитата:
Ещё что странно это то что на локальном сераке всё работает хорошо и xml не искажается, а на хостинге искажается... Вопрос, связан ли переформат xml, с этой ошибкой? И что с этим делать?
__________________
Code Different Последний раз редактировалось vitlance; 15.08.2008 в 02:36. |
|
|||||
|
Modus ponens
|
А можно сам ПХП посмотреть? У меня при всем желании такое не получается =)
Фз, вот, попробуй =)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 15.08.2008 в 02:54. |
|
|||||
|
Цитата:
И скрипт соответственно выдаёт ошибку... Сам попробуй в своём скрипте посавить эти обратные слэша перед ковычками... Ты незнаеш отчего может быть это искажение? Или как от него можно избавиться... по сути как убрать эти обратные слэши....??
__________________
Code Different |
|
|||||
|
Modus ponens
|
понятия не имею, у меня все работает и локально и удаленно, я ж говорю, не знаю как такое вообще могло получиться, что там ниоткуда слеши взялись =) Ну, фз, если это так выглядит текст полученный из POST - ну, фз, возьми да замени =)
Цитата:
<?php
error_reporting(E_ALL);
$foo =
"<ids>
<id i=\\\"5\\\" />
<id i=\\\"126\\\" />
<id i=\\\"3464\\\" />
<id i=\\\"2\\\" />
<id i=\\\"1\\\" />
</ids>";
/*$string = <<<XML
<ids>
<id i="5" />
<id i="126" />
<id i="3464" />
<id i="2" />
<id i="1" />
</ids>
XML;
$xml = new SimpleXMLElement($string);
print $xml->asXML();
foreach ($xml->xpath("id[@*]") as $a => $b) {
var_dump($b["i"]);
print $b["i"] . "\r";
}*/
$foo = preg_replace("/\\\/e", "", $foo);
var_dump($foo);
$xml0 = simplexml_load_string($foo);
//print $xml->asXML();
foreach ($xml0->xpath("id[@*]") as $a => $b) {
var_dump($b["i"]);
print $b["i"] . "\r";
}
?>
Последний раз редактировалось wvxvw; 15.08.2008 в 03:43. |
|
|||||
|
Цитата:
UPDATED: Всё нашёл красивую функцию stripslashes() Anyway спасибочки ![]()
__________________
Code Different Последний раз редактировалось vitlance; 15.08.2008 в 03:44. |
|
|||||
|
Дааа, сколько с ним возни.... у них ещё php5 пока експерементальный, по дефолту php4... я наверно час возился искал как переключится на php5, пока ненаписал им с суппорт, и они мне сказали мол я должен нажать на кнопочку upgrade account, в то время как в хэлпе у них совсем другое написано.. Да и с этим искажением ковычек, я такое первый раз вижу и токо у них... Вообщем лажа....
mediatemple.net - best
__________________
Code Different |
|
|||||
|
Как пишут в (mt) : "There is a cost to "cheap web hosting" - don't let it burn you."
Ж)
__________________
Code Different |
|
|||||
|
Ээ, PHP в школе не проходили? (: Вообще-то php экранирует данные и из post в том числе в целях безопасности. Попробуй в .htaccess отключить magic quotes gpc
Если не поможет, используй функцию stripslashes. Чтобы убрать слеши из всего post можно сделать так:
function myStripSlashes(&$arr) {
if (is_array($arr)) {
foreach($arr as &$el) {
myStripSlashes($el);
}
} else {
$arr = stripslashes($arr);
}
}
// ну и потом где-то в коде
myStripSlashes($_POST);
UPD: работает (: UPD2: Цитата:
__________________
while(1) {} Последний раз редактировалось Division; 15.08.2008 в 11:02. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|