我有一个PHP代码需要使用preg_match使用此代码匹配以下任何字符串
if(preg_match('/(image/gif)|(image/jpg)|(image/jpeg)/',$between))
{
echo "Match Found";
}
else
echo "Match Not Found";
但我收到此错误
Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\project\extension.php on line 38
任何帮助将不胜感激....我googled很多,但找不到解决方案......
答案 0 :(得分:1)
您正在使用/
作为delimiter character,因此当它出现在您的正则表达式中时,您必须将其转义:
if(preg_match('/(image\/gif)|(image\/jpg)|(image\/jpeg)/',$between))
或者,您可以选择其他分隔符:
if(preg_match('~(image/gif)|(image/jpg)|(image/jpeg)~',$between))
答案 1 :(得分:1)
将preg_match模式替换为:
'/(image\/gif)|(image\/jpg)|(image\/jpeg)/'
你应该总是转义像/
这样的字符答案 2 :(得分:0)
只要您希望在正则表达式中使用/
- 请使用~
作为正则表达式分隔符:
if(preg_match('~(image/gif)|(image/jpg)|(image/jpeg)~',$between))
^----------- ^--------
甚至更好:
if(preg_match('~image/(gif|jpe?g)~',$between))