| Autor | Zpráva | ||
|---|---|---|---|
| zezula Profil |
#1 · Zasláno: 18. 12. 2015, 17:37:10
Zdravím, mám tento kod a při parsovaní <title> z některých webů (viz třeba ahold.cz) špatně zobrazuje diakritiku. Zkoušel jsem i měnit kódování, ale bez výsledku. Kde je chyba? Díky za každou radu
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>čeština</title>
</head>
<body>
<?php
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$html = file_get_contents_curl("http://ahold.cz/");
//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
//get and display what you need:
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
echo "Title: $title". '<br/><br/>';
?>
</body>
</head> |
||
| juriad Profil |
#2 · Zasláno: 18. 12. 2015, 17:47:29
zezula:
Mně to funguje správně. Chybu tam nevidím. Stránku servíruješ jako UTF-8, ahold má také stránku v UTF-8, žádné konverze nejsou nutné. |
||
| Dan Charousek Profil |
#3 · Zasláno: 18. 12. 2015, 17:52:32
zezula:
Zkus echo "Title: " . utf8_decode($title) . "<br/><br/>";
|
||
| zezula Profil |
#4 · Zasláno: 18. 12. 2015, 18:03:11
juriad:
nefungovalo mi to na lokálním serveru, po nahrátí na web už je to ok. Díky a omlouvám se za "zbytečné" téma |
||
|
Časová prodleva: 11 let
|
|||
0