正則表達式休息我使用腳本來檢測所引用get_browser頁上多次php.net瀏覽器及其版本。瀏覽器版本匹配 - 在PHP 5.1.6
包含腳本的文件保存爲UTF-8,實際上它的工作原理fine':
// relevant parts only where $ub stores the browser name like "Safari"
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$known = array('Version', $ub, 'other');
$pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
preg_match_all($pattern, $userAgent, $matches);
現在我們正在運行使用PHP 5.1.6的服務器上的網站。不幸的是它打破了正則表達式,並顯示此警告:
PHP的警告:preg_match_all()[function.preg匹配-所有]:編譯失敗:無法識別的字符之後(<在/file.php上偏移3線48
必須如何模式進行更新與PHP正常工作5.1.6?
你真的應該升級到PHP 5.4 – 2013-02-14 14:31:08
@crypticツ是的。但不幸的是,這不在我手中,因爲有人在同一臺服務器上運行Typo3,目前無法更新 - 所以我被告知。 – insertusernamehere 2013-02-14 14:38:32
警告:PHP 5.1在2006年宣佈報廢,並且自那時以來沒有任何錯誤修復或安全更新。 **這是嚴重過時和不安全的,不應該用於生產系統**。 – SDC 2013-02-14 14:39:52