Re: [请益] parser 文字

楼主: woominin (没事就好)   2014-09-28 13:46:02
原文恕删
想请问前辈们
小弟在parser网页遇到一个新的问题
就是用原本的 simple_parser_dom的工具来parser
http://tour.taitung.gov.tw/zh-tw/Home/Index
会出错
问题1 : 如何解
再来小弟到处研究了一下
用了另一个 curl
<?php
# Use the Curl extension to query Google and get back a page of results
$url = "http://tour.taitung.gov.tw/zh-tw/Home/Index";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
curl_close($ch);
# Create a DOM parser object
$dom = new DOMDocument();
# Parse the HTML from Google.
# The @ before the method call suppresses any warnings that
# loadHTML might throw because of invalid HTML in the page.
@$dom->loadHTML($html);
# Iterate over all the <a> tags
foreach($dom->getElementsByTagName('a') as $link) {
# Show the <a href>
echo $link->getAttribute('href');
echo "<br />";
}
foreach($dom->getElementsByTagName('a') as $v) {
echo $v->getAttribute('title');
echo "<br />";
}
?>
用上面的语法 是parser出来了,不过parser回来的字是乱码
试着加入
$v = mb_convert_encoding($v,"BIG5","UTF-8");
结果会出错
请教这如何解呢 ?
作者: bibo9901 (function(){})()   2014-09-28 14:02:00
parse (v) 和 parser (n) 真的那么难分吗@@
楼主: woominin (没事就好)   2014-09-28 14:14:00
不懂什么意思 - -
作者: bency (林班西)   2014-09-28 15:25:00
是一个动词(parse)跟名词(parser)的概念
作者: KawasumiMai (さあ、死ぬがいい)   2014-09-28 16:07:00
就好像你去teach一个人跟你去teacher一个人后面不会觉得怪怪的吗
作者: hit1205 (帮你把勇气装满)   2014-09-28 22:08:00
$v 在这里是一个 DOMElement,但你要转换编码的是里头的字,比如说你要转 $v->getAttribute('title'); 的话那应该是直接转 $v->getAttribute('title');,而不是转 $v 本身,因为 mb_convert_encoding 是转字串用的如果是要取内文请用 $v->textContent (PHP文件似乎没提XD另外,你读的这网站本来就是 UTF-8 了,所以其实不用转码

Links booklink

Contact Us: admin [ a t ] ucptt.com