I am using a lib which uses
eregi($match="^http/[0-9]+\\.[0-9]+[ \t]+([0-9]+)[ \t]*(.*)\$",$line,$matches)
but as eregi is deprecated now, i want to convert above to preg_match. I tried it as below
preg_match($match="/^http/[0-9]+\\.[0-9]+[ \t]+([0-9]+)[ \t]*(.*)\$/i",$line,$matches)
but it throws an error saying Unknown modifier '[' in
filename.php
any ideas how to resolve this issue?
Thanks
If you use /
as the regex delimiter (ie. preg_match('/.../i', ...)
), you need to escape any instances of /
in your pattern or php will think it's referring to the end of the pattern.
You can also use a different character such as %
as your delimiter:
preg_match('%^http/[0-9]+\.[0-9]+[ \t]+([0-9]+)[ \t]*(.*)$%i',$line,$matches)
You need to escape the delimiters inside the regular expression (in this case the /
):
"/^http\\/[0-9]+\\.[0-9]+[ \t]+([0-9]+)[ \t]*(.*)\$/i"
But you could also chose a different delimiter like ~
:
"~^http/[0-9]+\\.[0-9]+[ \t]+([0-9]+)[ \t]*(.*)\$~i"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With