0

/[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'))它使用 URL 打印“正在查看 edgrens 不喜欢” profile-photos.php?u=edgren&dl=

如果 GET 是 &dl= 这是错误的,我现在拥有的正则表达式会打印egren例如 regexpal.com 上的示例)。我想打印整个用户名而不是它的一半,可以这么说。

我该如何解决我的问题?

提前致谢。

4

1 回答 1

3

您将交替与字符类混淆了。如果要匹配多个字符串之一,请使用圆括号:(u=|&l=|&dl=|&f=). 方括号用于字符类(其含义是“匹配一个字符,如果它是这些方括号之间指定的字符之一”)。

i使正则表达式明确区分大小写

于 2012-09-29T22:08:23.893 回答