Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: xPath - UTF8

PHP PHP xPath - UTF8 American English version English version

Aktivity (1)
Avatar
katrincsak
Člen
Avatar
katrincsak:1. června 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. června 15:18
Avatar
katrincsak
Člen
Avatar
katrincsak:2. června 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. června 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.