提问人:Epiphanisation 提问时间:2/15/2011 最后编辑:BenMorelEpiphanisation 更新时间:5/18/2014 访问量:423
我可以在这里使用 preg_match 而不是已弃用的 eregi 吗,如果是这样,如何使用?
can I use preg_match instead of deprecated eregi here and if so how?
问:
当前代码
eregi("(.*)/index.php$", $scriptName, $regs)
沿着以下思路思考
preg_match("(.*)/index.php$", $scriptName, $regs)
但不确定$regs位是什么,以及我需要在括号中更改什么才能使其工作?
答:
1赞
alex
2/15/2011
#1
preg_match_all("/(.*)\/index.php$/", $scriptName, $regs)
请注意,您可以在 PHP 中使用大多数字符作为正则表达式分隔符,例如 .~
但不确定$regs位是什么,以及我需要在括号中更改什么才能使其工作?
$regs
将是比赛。 有这种行为,有第三个论点。它是通过引用传递的,因此如果匹配成功,您可以简单地开始下标。 将具有整个匹配项,并且该部分将在字符串的末尾进行。preg_match_all()
$regs
[0]
[1]
/index.php
至于括号的变化,我总是把这些括号称为括号,所以我会假设这就是你的意思(对不起吹毛求疵)。您指的是函数括号内的参数,还是正则表达式本身中的匹配组?无论哪种方式,只需使用上面的代码:)
0赞
Kaiser
2/15/2011
#2
http://php.net/manual/en/function.eregi.php
警告
自 PHP 5.3.0 起,此函数已弃用。强烈建议不要依赖此功能
评论