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ą
$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ż :
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

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:
$opis="Skonfiguruj swoją kabinę w <span color=\"black\"><b><a href=\"http://konfiguratorkabin.pl/\" target=\"_blank\">Konfiguratorze kabin</a></b></span>";
w odczytanej stronie otrzymam poprawny wynik czyli:
Cytat
Skonfiguruj swoją kabinę w Konfiguratorze kabin
próbowałem również przy odczycie zastosować:
$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.