|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。
判别客户端阅读器类型 01 /** 02 * 判别阅读器称号和版本 03 */ 04 function get_user_browser() 05 { 06 if (empty($_SERVER['HTTP_USER_AGENT'])) 07 { 08 return ''; 09 } 10 11 $agent = $_SERVER['HTTP_USER_AGENT']; 12 $browser = ''; 13 $browser_ver = ''; 14 15 if (preg_match('/MSIE\s([^\s;]+)/i', $agent, $regs)) 16 { 17 $browser = 'Internet Explorer'; 18 $browser_ver = $regs[1]; 19 } 20 elseif (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) 21 { 22 $browser = 'FireFox'; 23 $browser_ver = $regs[1]; 24 } 25 elseif (preg_match('/Maxthon/i', $agent, $regs)) 26 { 27 $browser = '(Internet Explorer ' .$browser_ver. ') Maxthon'; 28 $browser_ver = ''; 29 } 30 elseif (preg_match('/Opera[\s\/]([^\s]+)/i', $agent, $regs)) 31 { 32 $browser = 'Opera'; 33 $browser_ver = $regs[1]; 34 } 35 elseif (preg_match('/OmniWeb\/(v*)([^\s;]+)/i', $agent, $regs)) 36 { 37 $browser = 'OmniWeb'; 38 $browser_ver = $regs[2]; 39 } 40 elseif (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs)) 41 { 42 $browser = 'Netscape'; 43 $browser_ver = $regs[2]; 44 } 45 elseif (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) 46 { 47 $browser = 'Safari'; 48 $browser_ver = $regs[1]; 49 } 50 elseif (preg_match('/NetCaptor\s([^\s;]+)/i', $agent, $regs)) 51 { 52 $browser = '(Internet Explorer ' .$browser_ver. ') NetCaptor'; 53 $browser_ver = $regs[1]; 54 } 55 elseif (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs)) 56 { 57 $browser = 'Lynx'; 58 $browser_ver = $regs[1]; 59 } 60 61 if (!empty($browser)) 62 { 63 return addslashes($browser . ' ' . $browser_ver); 64 } 65 else 66 { 67 return 'Unknow browser'; 68 } 69 } 大家如果能懂得“熟能生巧”的道理也就明白了这并不是浪费时间,同时这也可以减轻板主的负担,让他们有时间去处理更难的问题。 |
|