RobinTibbs Posted February 2, 2007 Share Posted February 2, 2007 function detectDotNet() { $agentstring = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)"; preg_match_all("%(.NET CLR)[ ]([0-9.]+)%", $agentstring, $matches); echo $matches; } trying to grab the number after the .NET CLR, but nothing is being captured, hohum! Link to comment https://forums.phpfreaks.com/topic/36807-whats-wrong-with/ Share on other sites More sharing options...
effigy Posted February 2, 2007 Share Posted February 2, 2007 Nothing, but you can make a few improvements: - A period outside of a character class is a metacharacter; escape it to match a literal: \. - You can use a lookbehind since you don't need the ".NET CLR " string (and it is fixed length). <pre> <?php function detectDotNet() { $agentstring = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)"; preg_match_all("%(?<=\.NET CLR )([\d.]+)%", $agentstring, $matches); print_r($matches); } detectDotNet(); ?> </pre> Link to comment https://forums.phpfreaks.com/topic/36807-whats-wrong-with/#findComment-175710 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.