Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pobieranie danych z innej strony
Forum PHP.pl > Forum > Przedszkole
ewelinac18
Witam
Chciałam utworzyć skrypt który pobiera tytuły pewnych utworów
problem jest w tym że czasem pojawiają sie w tytułach litery üéÖöíüöúçíéáäa...
no i wiadomo jak natrafię na taki znak to jest problem czy jest jakiś sposób na takie znaki

  1. <?php
  2. $adres="http://www..pl";
  3. $strona = file_get_contents($adres);
  4. $wzor = '(<!-- Tytuł --><td align="center">([a-zA-ZˇąĆćĘꣳŃńÓ󌜯żŹĽ0-9,:-/<> ]+)<-td>)';
  5. $tytul = array();
  6. preg_match_all( $wzor, $strona, $tytul);
  7. foreach( $tytul[1] as $bk )
  8. echo $bk."<br>";
  9. ?>
MWL
A jakie tam jest kodowanie, jesli np ty używasz ISO, a tamci UTF'a to nei ma się co dziwić. Wystarczy to sprawdzić i użyć funkcji:
  1. <?php
  2. mb_http_input("KODOWANIE WEJŚCIOWE");
  3. mb_http_output("KODOWANIE WYJŚCIOWE");
  4. ?>
ewelinac18
tak zgadza sie i mam od tego funkcje która konwertuje to

  1. <?php
  2. function utf82iso88592 ($data)
  3. {
  4. return preg_replace("/([xC0-xF7]{1,1}[x80-xBF]+)/e", '_utf8_to_html("1")', $data);
  5. }
  6.  
  7. function _utf8_to_html ($data)
  8. {
  9. $ret = 0;
  10. foreach((str_split(strrev(chr((ord($data{0}) % 252 % 248 % 240 % 224 % 192) + 128) . substr($data, 1)))) as $k => $v)
  11. $ret += (ord($v) % 128) * pow(64, $k);
  12. return "&#$ret;";
  13. }
  14. ?>
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.