Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak ustawić kodowanie znaków przesyłanych przez curl?
Saki
post 17.11.2012, 17:25:04
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Witam, chce zrobić sobie mobilną wersję moich ulubionych wiadomości, pobieram z rssa za pomocą DOMDocument, rss jest kodowany w iso-8859-1.
Więc pobieram go:

  1. $doc = new DOMDocument();
  2. $doc->load('http://XXX.xml');
  3. $arrFeeds = array();
  4. foreach ($doc->getElementsByTagName('item') as $node) {
  5. $itemRSS = array (
  6. 'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
  7. 'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
  8. 'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
  9. 'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
  10. 'guid' => $node->getElementsByTagName('guid')->item(0)->nodeValue
  11. );
  12. array_push($arrFeeds, $itemRSS);
  13.  
  14. }


i trochę artykuł modyfikuję usuwająć niepotrzebne linki:

  1. $title = $itemRSS['title'];
  2.  
  3. $string = $itemRSS['desc'];
  4. //
  5. $string = str_replace('<br/>', '[br]', $string);
  6. $string = str_replace('<br />', '[br]', $string);
  7. //
  8. $pattern = '/<img src="http:\/\/i.XXX.de\/(.*).jpg" width="(.*)" height="(.*)"\/>/i';
  9. $replacement = '';
  10. $string = preg_replace($pattern, $replacement, $string);
  11. //
  12. $pattern = '/<h2><a href="http:\/\/XXX.mobi\/news\/(.*)\/comments">XXX<\/a><\/h2>/i';
  13. $replacement = '';
  14. $string = preg_replace($pattern, $replacement, $string);
  15. //


No i na koniec wysyłam na swój prywatny blog:
  1. wpPostXMLRPC($title,$string,'http://XXX.XXX','LOGIN','PASS','News');


Wszystko działa, tylko kodowanie jest popsute:

przykład:
[txt]To roczne sprawozdanie z działalności w 2011 roku, firma w której Mozilla Foundation wydzielona rozwoju projektów głównych oprogramowanie, teraz dał. Nagrali 136 milionów dolarów przychodów w zeszłym roku. 33 Procent są co najmniej więcej niż w roku poprzednim. [/txt]

no i funkcja która wysyła na wordpressa:

  1. function wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$categories=array(1)){
  2. $categories = implode(",", $categories);
  3. $XML = "<title>$title</title>".
  4. "<category>$categories</category>".
  5. $body;
  6. $params = array('','',$username,$password,$XML,1);
  7. $request = xmlrpc_encode_request('blogger.newPost',$params);
  8. $ch = curl_init();
  9. curl_setopt($ch, CURLOPT_ENCODING, 'utf-8'); // próbowałem już z iso-8859-1 i utf-8 i za każdym razem tylko szlaczki na blogu mam :|
  10. curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
  11. curl_setopt($ch, CURLOPT_URL, $rpcurl);
  12. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  13. curl_setopt($ch, CURLOPT_TIMEOUT, 1);
  14. curl_exec($ch);
  15. curl_close($ch);
  16. }


Ten post edytował Saki 17.11.2012, 17:27:55


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
Go to the top of the page
+Quote Post
d3ut3r
post 17.11.2012, 17:35:27
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


Za pomocą iconv możesz skonwertować tekst do utf-8


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
Saki
post 17.11.2012, 17:47:30
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Cytat(d3ut3r @ 17.11.2012, 17:35:27 ) *
Za pomocą iconv możesz skonwertować tekst do utf-8


ohmy.gif
Działa. Dzięki ^^


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
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: 27.04.2024 - 02:35