C# týden C# týden
Pořádné programy s pořádnou klávesnicí zdarma. Více zde
Pouze tento týden sleva až 80 % na C# .NET
Avatar
katrincsak
Člen
Avatar
katrincsak:1.6.2018 15:18

Zdravím,

strávil jsem nad tím už spoustu hodin a nevím jak problém vyřešit.

Z důvodu náhledu provádím file_gets_con­tents() a mám 2 vzorové příklady, které řeším. http://kralik.cz a http://seznam.cz na mb_detect_encoding vrací UTF-8 . Jakmile to projde přes DOMXPath. Tak kralik.cz vrací znakovou sadu v pohodě, ale seznam.cz nikoliv. Když použiju různé encodování jako je mb_detect_encoding tak buď je obojí špatně, nebo se mi správnost prohodí, ale nemohu docílit toho, aby to bylo ksutečně validní UTF. Vím že xpath vyžaduje ISO-8859-2 ..

Trochu jsem to zjednodušil :)

$curl = curl_init($url);
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);

$title          = $xpath->query("//head/title")->item(0)->nodeValue;
$description    = $xpath->query("//head/meta[@name='description']/@content")->item(0)->nodeValue;

echo $title."<br>".$description;

Děkuji za rady.

 
Odpovědět 1.6.2018 15:18
Avatar
katrincsak
Člen
Avatar
katrincsak:2.6.2018 0:56

Oprava mělo být:

$html = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);

$title          = $xpath->query("//head/title")->item(0)->nodeValue;
$description    = $xpath->query("//head/meta[@name='description']/@content")->item(0)->nodeValue;

echo $title."<br>".$description;
 
Nahoru Odpovědět 2.6.2018 0:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.