我使用php 4
函数作为spliti()
以及php 5
函数preg_match
。它显示了我的本地主机(xampp版本1.7.2)中的输出。但是当我将它上传到服务器时,它在preg_match处没有显示任何内容并返回false。我不知道为什么。有人能帮我一下吗?
我的功能是获取html页面的文档类型和字符集。函数如下:
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);
}
来自PHP文档:
preg_match() 5.3.6 Returns FALSE if offset is higher than subject length.