Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak ustawić kodowanie znaków przesyłanych przez curl?
Forum PHP.pl > Forum > PHP
Saki
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. }
d3ut3r
Za pomoc± iconv możesz skonwertować tekst do utf-8
Saki
Cytat(d3ut3r @ 17.11.2012, 17:35:27 ) *
Za pomoc± iconv możesz skonwertować tekst do utf-8


ohmy.gif
Działa. 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.