Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML][HTML][PHP]Wymuszona interpretacja znaczników HTML
RLLAMAS
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 18.03.2007

Ostrzeżenie: (0%)
-----


Witam

Poszukuję rozwiązania problemu który mnie spotkał.

Za pomocą CURL wczytuję stronę "http://api.sanitec.artcom24.com/ws/api/products/?sAction=getProduct&nID=xxxx&sLang=pl" (gdzie xxxx to numer produktu np 35502) do zmiennej $tresc .

Ponieważ strona zwraca dane jako XML wykorzystuję simplexml_load_string($tresc) w celu konwersji do przyjemniejszej w obróbce postaci i przechowuję te dane np w zmiennej $tresc_ob .


Następnie do zmiennej $opis za pomocą
  1. $opis=$tresc_ob->response->product->notes2product->note2product[0];

wczytuję treść opisu.

Wszystko jest fajnie gdy w opisie znajduje się czysty tekst.
Problem pojawia się gdy w opisie pojawiają się znaczniki HTML. Muszę oczywiście użyć najpierw htmlspecialchars_decode() w celu przywrócenia "normalnej" postaci HTML, ale PHP sobie z tak odczytanymi danymi nie radzi.

Na przykład dla artykułu o numerze 35502 odczytany tekst w oryginale to:
Cytat
Skonfiguruj swoją kabinę w <span color="black"><b><a href="http://konfiguratorkabin.pl/" target="_blank">Konfiguratorze kabin</a></b></span>

a po użyciu htmlspecialchars_decode():
Cytat
Skonfiguruj swoją kabinę w <span color="black"><b><a href="http://konfiguratorkabin.pl/" target="_blank">Konfiguratorze kabin</a></b></span>


I tu następuje problem ponieważ :
  1. echo $opis;


zwraca:
Cytat
Skonfiguruj swoją kabinę w <span color="black"><b><a href="http://konfiguratorkabin.pl/" target="_blank">Konfiguratorze kabin</a></b></span>



zamiast:
Cytat
Skonfiguruj swoją kabinę w Konfiguratorze kabin


Szukam, szperam, grzebie na tym forum i internecie. Męczę wujka google pytaniami typu "wymuszona interpretacja html w php" i podobnymi jednak do tej pory bez skutecznie. Być może nie potrafię odpowiednio sformułować pytania, ale na nie brakło mi już pomysłów (IMG:style_emoticons/default/sad.gif) .

Najdziwniejsze w tym wszystkim jest to gdy:
Cytat
Skonfiguruj swoją kabinę w <span color="black"><b><a href="http://konfiguratorkabin.pl/" target="_blank">Konfiguratorze kabin</a></b></span>

wprowadzę do zmiennej ręcznie nie odczytując z XML np:
  1. $opis="Skonfiguruj swoją kabinę w <span color=\"black\"><b><a href=\"http://konfiguratorkabin.pl/\" target=\"_blank\">Konfiguratorze kabin</a></b></span>";
  2. echo $opis;


w odczytanej stronie otrzymam poprawny wynik czyli:
Cytat
Skonfiguruj swoją kabinę w Konfiguratorze kabin


próbowałem również przy odczycie zastosować:
  1. $opis=(string)$tresc_ob->response->product->notes2product->note2product[0];

jednak i to nie daje pożądanego efektu.

Obecnie brak mi pomysłów w jaki sposób jeszcze do tego podejść.

Pozdrawiam i dziękuję za wszelkie odpowiedzi, które skierują mnie na właściwy tor.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 23:16