Re: preg_match() returns false but no documentation why
| From: | Crayon Shin Chan | Date: | Thu, 31 May 2007 05:31:32 +0000 |
| Subject: | Re: preg_match() returns false but no documentation why | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-255895@lists.php.net to get a copy of this message | ||
On Thursday 31 May 2007 01:33, Jared Farrish wrote:
> Can anybody spot why this doesn't seem to be working right? The manual
> ( http://us2.php.net/preg_match) says it returns
> "false" on error, but
> preg_last_error() returns 0, which I assume points to the
> "PREG_NO_ERROR" error code.
>
> <code>
> preg_match("^ldap(s)?://[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$",$this->server)
> </code>
>
> I also tried ereg(), and have searched and gone through the comments.
> Why would a regex operation return false?
If you check your error log you'll find:
Warning: preg_match(): No ending delimiter '^' found in xxx.php on line xx
IMO that shouldn't be a warning, it should be an error that halts
execution so people wouldn't go looking for a non-existant
preg_last_error() when preg_match() did not even run.
--
Crayon