Php 阅读youtube名称和符号?
我试着从youtube上读取某些视频名称,我让它正常工作,尽管某些符号似乎会显示为其他奇怪的符号。(我想是吧?) 我应该得到“美女与野兽-美国官方最终预告片” 取而代之的是《美女与野兽——美国官方最后预告片》Php 阅读youtube名称和符号?,php,unicode,youtube,symbols,Php,Unicode,Youtube,Symbols,我试着从youtube上读取某些视频名称,我让它正常工作,尽管某些符号似乎会显示为其他奇怪的符号。(我想是吧?) 我应该得到“美女与野兽-美国官方最终预告片” 取而代之的是《美女与野兽——美国官方最后预告片》 谢谢也许您可以使用mb_convert_encoding()函数?您的页面不是UTF-8格式?在Display>Text encoding或类似功能中,您在浏览器中阅读了什么?@julp我在页面顶部有,我尝试了标题(“内容类型:Text/html;charset=UTF-8”);在php中
谢谢也许您可以使用mb_convert_encoding()函数?您的页面不是UTF-8格式?在Display>Text encoding或类似功能中,您在浏览器中阅读了什么?@julp我在页面顶部有,我尝试了标题(“内容类型:Text/html;charset=UTF-8”);在php中,但仍然不起作用。源代码似乎在UTF-8中,但DOM/libxml2似乎将其视为ISO-8859-1,然后将其转换为UTF-8,因此
-
(U+2013,在UTF-8中由0xE2、0x80、0x93编码)成为3个代码点U+E2、U+80、U+93(=在UTF-8中:、0xC3、0xA2、0xC2、0x80、0x93)。我可能已经找到了两种解决方法:1)在($page=“\u{FEFF}”).file_get_contents($url);
)之前添加BOM,或2)在($page=''file_get_contents($url);
)-3)之前添加两个(当然,但要先添加BOM)。也许你可以使用mb_convert_encoding()函数?你的页面不是UTF-8格式?在Display>Text encoding或类似功能中,您在浏览器中阅读了什么?@julp我在页面顶部有,我尝试了标题(“内容类型:Text/html;charset=UTF-8”);在php中,但仍然不起作用。源代码似乎在UTF-8中,但DOM/libxml2似乎将其视为ISO-8859-1,然后将其转换为UTF-8,因此-
(U+2013,在UTF-8中由0xE2、0x80、0x93编码)成为3个代码点U+E2、U+80、U+93(=在UTF-8中:、0xC3、0xA2、0xC2、0x80、0x93)。我可能已经找到了两种解决方法:1)在($page=“\u{FEFF}”).file_get_contents($url);
)之前添加BOM,或2)在($page=''file_get_contents($url);
)之前添加XML prolog-3)两者都添加(当然,但要先添加BOM)。
function get_youtube_title($video_id){
$url = "http://www.youtube.com/watch?v=".$video_id;
$page = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHTML($page);
$title_div = $doc->getElementById('eow-title');
$title = $title_div->nodeValue;
return $title;
}
echo get_youtube_title('e3Nl_TCQXuw');