Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z mb_detect_encoding
darekHa
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.04.2009

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


Witam

W php to moje początki, więc proszę o wyrozumiałość.

Piszę skrypt, który pobierze zawartość strony i przeszuka pobrany kod w poszukiwaniu zadanego wzorca.

Niby proste, ale ja mam wzorzec zapisywany u utf-8, a strony mają różne kodowanie: utf-8, iso-8859-2, iso-8859-1, windows-1250 itd.

Idea jest taka:
1. Pobrać kod strony używając "file_get_contents()";
2. Sprawdzić kodowanie strony i ewentualnie zamienić na utf-8;
3. Wyszukać wzorzec.

Problem stanowi punkt 2!

Przykład - odczytanie kodowania strony Onet.pl - kodowanie iso-8895-2

Więc napisałem:

Kod

$zawartosc = file_get_contents("http://www.onet.pl");

$siteCoding = mb_detect_encoding($zawartosc, 'UTF-8, ISO-8859-1, ISO-8859-2', true);

echo $siteCoding;


No i zwraca iso-8859-1 zamiast iso-8859-2.

Gdzie robię błąd? Bo potem chciałem zrobić:
Kod
if($siteCoding != 'UTF-8')
     $zawartosc = mb_convert_encoding($zawartosc, "UTF-8", $siteCoding);


No ale nie mogę, bo mb_detect_encoding() zwraca nie to co trzeba.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 11:47