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í.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
discount 30 + hiring
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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
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.