2014-10-31 53 views
1

我正在升級使用Symfony 1.4開發的舊Web應用程序。使用Symfony 1.x解析用戶代理

我需要解析用戶代理以檢索OS類型(Windows,Android,iOS,Linux等),操作系統版本,瀏覽器類型(Chrome,IE,Android Browser ..)和瀏覽器版本等信息。

對於由移動設備生成的用戶代理,我使用sfTeraWurflPlugin,他工作正常。

我需要類似的解析桌面計算機生成的用戶代理。

有什麼建議嗎?

回答

0

您可以使用get_browser()函數,該函數在覈心php中可用。

我知道的最強大的替代解決方案是一個ua-parser庫。它不是一個symfony包,但它仍然易於使用。它擁有龐大的用戶基礎並經過廣泛的測試。 2.x版本與php 5.2兼容,3.x版本適用於php 5.3+

+0

我知道這個函數,但不容易用作sfTeraWurflPlugin。 例如,它返回[platform] => WinXP而不是[OS] => Windows,[OS_version] => XP。 – 2014-10-31 15:03:35

+0

好吧... symfony1是一個相當死的野獸,正如你寫的:你正在升級這個應用程序,所以沒有太多的意義花時間在一個完美的解決方案。 – JimiDini 2014-10-31 15:09:49

+0

不幸的是我不能改變框架或框架版本。在編寫一個用於解析get_browser()結果的大開關/ case語句之前,我正在尋找更好的解決方案。 – 2014-10-31 15:17:21