Re: Unexplained Issue Using Regex
| From: | haliphax | Date: | Fri, 06 Mar 2009 21:53:31 +0000 |
| Subject: | Re: Unexplained Issue Using Regex | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-289497@lists.php.net to get a copy of this message | ||
On Fri, Mar 6, 2009 at 3:44 PM, Nitsan Bin-Nun <nitsan@binnun.co.il> wrote:
> I'm not looking for other ideas, the main thing here is that I have about
> 30-100 regex's in the database and the script fetches them and applies them
> to the string. I can't build again the engine and I'm not going to do that.
> I'm trying to solve my problem ;) If you have any ideas regarding my issue
> and not going in another way this would be very appreciated.
Nitsan,
I think it's because you're referencing the capture group with index
instead of index 2. Also, I don't understand why you have the pipe
("|") character in your regex string... is that part of your engine?
This code:
$orig = 'http://www.zshare.net/video/541070871c7a8d9c';
$matches = array();
preg_match('#http://(www\.)zshare\.net/video/([^/]+)#', $orig,
$matches);
echo $matches[2];
Grabs the correct match:
541070871c7a8d9c
The regex pattern works with the pipe char, but it is unnecessary and
may lead to some strange behavior.
Hope this helps,
--
// Todd