IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: xPath - UTF8

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
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.