#php #xml #echo
#php #xml #echo
Вопрос:
Я пытаюсь заставить PHP повторить это:
http://production.shippingapis.com/ShippingAPI.dll?API=TrackV2amp;XML=<TrackRequest USERID="123456"><TrackID ID=".$trackno."></TrackID></TrackRequest>";
Однако, когда я открываю эту страницу в своем браузере (FF4), отображается только это:
http://production.shippingapis.com/ShippingAPI.dll?API=TrackV2amp;XML=
Браузер считает, что onwards является частью XML-документа, поэтому он не отображает его, как показано здесь:
(части исключены по понятным причинам : D)
Как мне исправить эту проблему?
Спасибо!
Комментарии:
1. запустите
htmlentities()
строку перед ее выводом. Браузер интерпретирует<TrackRequest
как тег. Он будет отображаться только так, как вы хотите, какamp;<TrackRequest
и т.д.2.
echo
Тогда это не проблема, не так ли? 😛
Ответ №1:
Он проанализирует его как HTML. Это не имеет ничего общего с XML. Используйте тип содержимого text / обычный заголовок, чтобы сообщить браузеру, что это обычный текст.
Если этот URL-адрес не единственный выходной, но он является частью HTML-страницы, используйте htmlspecialchars или htmlentities.
Комментарии:
1. Как мне использовать функции htmlentitles и htmlspecialchars? Я пытался использовать htmlentitles ($ url) и htmlspecialchars ($ url), но результат все тот же … спасибо!
Ответ №2:
Вы можете сделать это:
$a = "http://production.shippingapis.com/ShippingAPI.dll?API=TrackV2amp;XML=<TrackRequest USERID="123456"><TrackID ID=".$trackno."></TrackID></TrackRequest>";
echo htmlentities($a);
или
echo "<pre>$a</pre>"; // the first is better;