Jump to content

whats wrong with..?


RobinTibbs

Recommended Posts

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

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.