Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z pobieraniem danych z fb
Forum PHP.pl > Forum > PHP
mb83
Witam,
napisałem prosty kod, który wyświetla formularz zapełniony treścią z FB (Wydarzenia).
  1. $at = "tu jest kod accesstoken";
  2.  
  3. if(!function_exists("curl_init")) die("cURL nie jest zainstalowany");
  4. $id = $_GET['event_id'];
  5. $url = ("https://graph.facebook.com/$id?fields=id,name,cover,owner,description,location,end_time&access_token=$at");
  6. $curl = curl_init();
  7. curl_setopt( $curl, CURLOPT_URL, $url );
  8. curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
  9. $result = curl_exec( $curl );
  10. curl_close( $curl );
  11. $return = json_decode($result, true);
  12. $id = $return['id'];
  13. $autor = iconv('utf-8','iso-8859-2',$return['owner']['name']);
  14. $d = $return['description'];
  15. $decoded = iconv('utf-8','iso-8859-2',$d);
  16. $n = $return['name'];
  17. $decodedn = iconv('utf-8','iso-8859-2',$n);
  18. $cover = $return['cover']['source'];
  19. $s = $return['start_time'];
  20. $k = $return['end_time'];
  21. $decodeds = date('d.m.Y', strtotime($s));
  22. $decodedk = date('d.m.Y', strtotime($k));
  23. $decodedh = date('H:i', strtotime($s));
  24. $l = $return['location'];
  25. $decodedl = iconv('utf-8','iso-8859-2',$l);
  26. echo '<p>Szczegóły wydarzenia:</p>
  27. <p>
  28. <form action="add2.php" method="post">
  29. <p><b>ID wydarzenia:</b> <input type="text" name="event_id" value="'.$id.'"></p>
  30. <p><b>Nazwa wydarzenia:</b> <input type="text" name="nazwa" value="'.$decodedn.'" style="width: 500px;"></p>
  31. <p><b>Autor wydarzenia:</b> <input type="text" name="autor" value="'.$autor.'" style="width: 500px;"></p>
  32. <p><b>Start wydarzenia:</b> <input type="text" name="start" value="'.$decodeds.'" style="width: 500px;"></p>
  33. <p><b>Koniec wydarzenia:</b> <input type="text" name="end" value="'.$decodedk.'" style="width: 500px;"></p>
  34. <p><b>Miejsce:</b> <input type="text" name="miejsce" value="'.$decodedl.'" style="width: 500px;"></p>
  35. <p><b>Treść wydarzenia:</b> <textarea name="tresc" style="width: 500px; height: 500px; vertical-align: top;">'.nl2br($decoded).'</textarea></p>
  36. <p><b>Zdjęcie, plakat:</b></p><p><img src="'.$cover.'"></p>
  37. <p><b>Ikona (200x200):</b></p><p><img src="https://graph.facebook.com/'.$id.'/picture?type=large"></p>
  38.  
  39. </form>
  40. </p>';
  41. }


problem zaczyna się gdy np. w opisie wydarzenia są znaki specjalne (quoty, alt cody, etc.)
Pytanie: jak się ich pozbyć? Polskie znaki ogarniam za pomocą iconv ale gdy jest tam jakiś quot to ucina tekst.
To samo przy alt codach (masakra te znaczki są!).

Dzięki za pomoc!
lukaskolista
htmlspecialchars() ? Ciezko Ci pomoc, skoro nie napisales, co dokladnie sie dzieje. Ucina tekst? Ktory tekst? Gdzie?
mb83
może inaczej, napiszę co potrzebuje osiągnąć:
- mam stronę w utf-8, która odbiera dane z fb do formularza
- zapisuje dane do mysql, który jest w utf-8
- wyświetlam dane na stronie, która jest w iso (nie ma opcji przejść na utf) - i tutaj albo nie wyświetla polskich znaków, a jak nie wyświetli pl to ucina tekst bo są krzaczki (np "ó" jako "ó").
- iconv nie działa, próbowałem, funkcji utf2iso znalezionej gdzieś na internecie ale też nie działa tak jak powinna

jak do tego zabrać się poprawnie? proszę o odpowiedź jak to ma wyglądać po kolei, dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.