> I would like to do a pattern match against a string, sometimes this > pattern > will include the full string, and sometimes it will not, if the pattern > does > not include the second match I still want to get the first pattern match. > > Below is my code, and the results I am looking for. > > Thanks in advance, > Max > > preg_match ("/\:\[(\S+)\]\:(\S*)/",$transport,$matches);
Make the part after the closing ] optional. preg_match("/\:\[(\S+)\](\:(\S*))?/",$transport,$matches $matches[1] should be the IP and $matches[3] should be the port, if it exists. ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php