preg_match UTF-8问题是未知符号而不是西里尔语

时间:2014-04-22 23:19:35

标签: regex utf-8 preg-match

我的脚本工作得很好,但今天在签入日志后我发现了一些矩阵词,经过分析我明白有一些东西与utf8,文件被解析,标题被提取,但结果而不是俄语单词是(СÐμÑ€ иалÑ<ТТ¢Ð¡ÐμриÐ)未知符号

我用

$cont = "dasdas<title>Сериалы ТУТ! Сериалы онлайн sda</title>";
preg_match("'<title[^>]*?>(.*)</title>'siU", $cont, $match);

//$match[1] = Сериалы ТУТ! СериРsda

当我尝试添加模式修饰符/ u时没有变化,相同的未知矩阵词。请。

也许有PHP的东西?

1 个答案:

答案 0 :(得分:2)

它不是php或正则表达式问题,而是html问题。要获得正确的显示,您必须在html代码的标题中添加<meta charset="UTF-8"/>

作为旁注:使用U修饰符是无用的:

preg_match('~<title[^>]*>(.*?)</title>~si', $cont, $match);