ID:               21277
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Feedback
+Status:           Won\'t fix
 Bug Type:         Feature/Change Request
 Operating System: Linux
 PHP Version:      4.2.3
 New Comment:

I said "along the lines of"... meaning "as an example". ANd yes, it's  

perfectly possible to do this in one regexp:

/1?[0-9]{0,2}|2[0-4][0-9]|25[0-5]\.1?[0-9]{0,2}|2[0-4][0-9]|25[0-5]\.1?[0-9]{0,2}|2[0-4][0-9]|25[0-5]\.1?[0-9]{0,2}|2[0-4][0-9]|25[0-5]/


though I agree this is not really nice. As we both think that it is not
worth a new function, i'm setting it to "Won't fix" again.

Derick


Previous Comments:
------------------------------------------------------------------------

[2002-12-30 02:15:29] [EMAIL PROTECTED]

The code cannot only be implemented in one regex, but the ones show
above, using substr_count() or preg_match, are buggy as they support
addresses of the form 999.999.999.999, which is clearly incorrect.

A better regex will have to take into account that IP v4 addresses
range from 0.0.0.0 to 255.255.255.255

Don't see a real driving need to implement as part of the language.

------------------------------------------------------------------------

[2002-12-30 00:32:19] [EMAIL PROTECTED]

Can be done with a oneliner:

(something along the lines of:)
if (preg_match("/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\$/",
$ip) {
    /* It is an IP */
}

Not really worth the trouble to implement it as a PHP code feature.

Derick

------------------------------------------------------------------------

[2002-12-29 18:54:21] [EMAIL PROTECTED]

function is_ip($str) // Returns True if the given string is a IP
address
{
if ((substr_count($str, ".") != 3) or (empty($str))) { return false; }

$ip_array = explode(".", $str);

for ($i = 0; $i < count($ip_array); $i++)
{
   if ((strlen($ip_array[$i]) != 3) or (!is_numeric($ip_array[$i])))
   {
     return false;
   }
}

return true;
}

I think that this function could be useful for many PHP coders :)

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=21277&edit=1

Reply via email to