我正在尝试替换当前网址中的数字。
然而,当我var_dump($url)
我得到NULL时,当我var_dump($_SERVER['REQUEST_URI'])
时,我得到了实际的网址。
为什么我会得到NULL?我是否正确使用preg_replace
?
$page = 2;
$nextPage = $page + 1;
$url = $_SERVER['REQUEST_URI'];
$nextUrl = preg_replace('[0-9].html', $nextPage, $url);
答案 0 :(得分:0)
您错误地使用preg_replace
,因为:
您必须在.html
之前更换号码。我建议对此进行预测,并在扩展前捕获所有最终数字,我还会使用+
量词来匹配1位或更多位数:
$page = 2;
$nextPage = $page + 1;
$url = $_SERVER['REQUEST_URI'];
$nextUrl = preg_replace('#[0-9]+(?=\.html)#i', $nextPage, $url);
这是regex demo。