我尝试使用许多可能的解决方案(/[u=|&l=|&dl=|&f=]/i
等)将此正则表达式更改为区分大小写但我没有按照我的意愿使其正常工作。
u=
,&l=
,&dl=
和&f=
取自profile-photos.php?u=edgren&dl=
。我使用这个正则表达式只获取用户名edgren
并识别其他GET(l,dl和f),例如;
Looking at <a href="'.url('user/'.$profile).'">'.properize($profile).'</a> '.(isset($_GET['l']) ? 'likes' : (isset($_GET['dl']) ? 'dislikes' : 'favorites'))
使用网址profile-photos.php?u=edgren&dl=
打印“看着edgrens不喜欢”。
我现在使用的正则表达式,如果GET是&amp; dl =哪个错误,则打印egren
(example at regexpal.com)。我想要打印整个用户名,而不是它的一半,可以这么说。
如何解决问题?
提前致谢。
答案 0 :(得分:3)
您对字符类的交替感到困惑。如果要匹配多个字符串中的一个,请使用圆括号:(u=|&l=|&dl=|&f=)
。方括号用于字符类(其含义为“匹配一个字符,如果它是这些方括号之间指定的那个”)。
同样i
使正则表达式明确区为 敏感。