Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [XML][HTML][PHP]Wymuszona interpretacja znaczników HTML
RLLAMAS
post 6.06.2013, 15:11:46
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 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
Helid
post 6.06.2013, 15:26:47
Post #2





Grupa: Zarejestrowani
Postów: 280
Pomógł: 20
Dołączył: 12.12.2007
Skąd: 127.0.0.1

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


Kod
Skonfiguruj swoją kabinę w &lt;span color="black"&gt;&lt;b&gt;&lt;a href="http://konfiguratorkabin.pl/" target="_blank"&gt;Konfiguratorze kabin&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;


str_replace?


--------------------
Go to the top of the page
+Quote Post
Talidali
post 6.06.2013, 15:29:11
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 19
Dołączył: 31.05.2013

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


A co Ci to wyświetli?
  1. echo htmlspecialchars_decode($opis);


--------------------
Szukam pracy za granicą jako FrontendDeveloper - AKTUALNE

forum.php.pl/PoszukujePraca_Frontend_Developer_t218107.html
Go to the top of the page
+Quote Post
RLLAMAS
post 6.06.2013, 17:02:45
Post #4





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

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


Uprzejmie proszę o czytanie ze zrozumieniem.

@Helid zacytowany przez Ciebie kod jest zamieniany na html za pomocą htmlspecialchars_decode()

@Talidali używam tej metody poczytaj na dole strony, chyba że zwracałeś się do @Helid.

Problem w tym, że to co za pomocą podanych metod odczytuję z XML na stronie pojawia się jako źródło html jak widać na poniższym zrzucie:
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 11:26