【发布时间】:2013-04-17 18:52:17
【问题描述】:
我将php 4 函数用作spliti() 以及php 5 函数preg_match。它在我的本地主机(xampp 版本 1.7.2)中显示输出。但是当我将它上传到我的服务器时,它在 preg_match 中没有显示任何内容并返回 false。我不知道为什么。有人可以帮我解决这个问题吗?
我的功能是获取 html 页面的 doctype 和 char-set。功能如下:
function GetContentType($Data) { // data as the html code
print preg_match('@<meta\s+http-equiv="Content-Type"\s+content="([\w/]+)(;\s+charset=([^\s"]+))?@i', $Data, $matches);
print var_dump($matches);
if (isset($matches[3]))
return $matches[3];
else
return "No Character set detected.";
}
function GetDocType($Data) { // Data as the html codes
print preg_match('/<!DOCTYPE (\w.*)dtd">/is', $Data, $patterns);
print var_dump($patterns);
$Data = explode(" ", str_replace('"', "", $patterns[1]));
$Data = $Data[0] . " " . $Data[3] . " " . $Data[4] . " " . $Data[5];
return str_replace("//EN", "", $Data);
}
【问题讨论】:
-
有点离题,但很严肃:一个不接受 HTML5 文档类型的文档类型扫描器?!?
标签: php preg-match