2011-12-28 24 views
6

मुझे मोबाइल के लिए उपयोगकर्ता एजेंट के लिए मेरी स्क्रिप्ट में जांचना है।मोबाइल regexp उपयोगकर्ता एजेंट

मेरे पास है

if(preg_match('/lg|iphone|blackberry|opera/i', $_SERVER['HTTP_USER_AGENT'])) { ... } 

मैं पता चला lg एक स्ट्रिंग

जैसे के पहले भाग की जरूरत है:

lg-9000 ... 
lg1000 ... 
lg 2000 ... 
lge4300 ... 

मूल रूप से मुझे पता है अगर यह संभव है चाहता हूँ यह पता लगाएं कि स्ट्रिंग (मेरे regexp से) शुरुआत से शुरू होने वाले उपयोगकर्ता एजेंट में पाया जा सकता है, स्ट्रिंग में कहीं नहीं।

मैं अपने regex स्ट्रिंग

धन्यवाद

उत्तर

11

बदलने के लिए नहीं आप स्ट्रिंग के शुरू होने से निरूपित करने के लिए मेटा चरित्र ^ उपयोग कर सकते हैं करना चाहते हैं। आप here के बारे में अधिक पढ़ सकते हैं। निम्नलिखित पैटर्न केवल lg मेल कराएंगे यह स्ट्रिंग के शुरू में बताया गया है:

^lg|iphone|blackberry|opera/ 

आप यहाँ कार्रवाई में एक सरल उदाहरण यह देख सकते हैं: http://regexr.com?2vjec

+0

धन्यवाद, यह काम करता है पूरी तरह से – aki

-2

मैं OS और ब्राउज़र का पता लगाने के लिए इस पुस्तकालय का उपयोग कर रहा जानकारी http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

+8

काम नहीं करता, मैं 'मोज़िला/4.0 (संगत; MSIE 7.0, विंडोज फोन ओएस 7.0, ट्राइडेंट/3.1; IEMobile/7.0) एलजी, एलजी-E900 ' और यह यह नहीं कहता कि यह एक मोबाइल फोन है और मैं कहता हूं कि मेरा ओएस ** संयुक्त है जानना**। भी। यह कहता है ** आईफोन 4 ** और मेरा उपयोगकर्ता एजेंट 'मोज़िला/5.0 (आईफोन; यू; सीपीयू आईफोन ओएस 3_0 मैक ओएस एक्स की तरह है; एन-यूएस) – aki

संबंधित मुद्दे