匹配正则表达式 i url
Match regex i url
我正在尝试在页面上构建分页时删除页面查询。
url 是
$url = www.example.com?category=computers&page=10
正则表达式
$cleanUrl = preg_replace('/page=[0-9,]+&/', '', $url);
虽然没有找到匹配项?
您应该以 ~ 开始和结束您的模式。这将起作用:
preg_replace('~&page=[0-9]+~', '', 'www.example.com?category=computers&page=10');
您的正则表达式失败,因为您正在搜索 page
参数后的 & 符号及其值。
您可以通过在其后附加一个问号来使 & 符号可选。
$url = 'www.example.com?category=computers&page=10';
$cleanUrl = preg_replace('/page=[0-9,]+&?/', '', $url);
示例,https://regex101.com/r/uW8uV8/1
要获得更多通过正则表达式的尝试:
<?php
$url = 'www.example.com?&category=cat&page=10';
$cleanUrl = rtrim(preg_replace('/(&|\?)page=[0-9,]+&?/', '', $url), '&?');
echo $cleanUrl;
这需要 rtrim
函数来删除尾随参数胶水。这将占...
Page by itself, www.example.com?page=10
Page as the last parameter, www.example.com?species=wolf&page=10
Page as the first parameter, www.example.com?page=10&species=wolf
Page as a middle parameter, www.example.com?cat=tom&mouse=jerry&page=10&species=wolf
我正在尝试在页面上构建分页时删除页面查询。
url 是
$url = www.example.com?category=computers&page=10
正则表达式
$cleanUrl = preg_replace('/page=[0-9,]+&/', '', $url);
虽然没有找到匹配项?
您应该以 ~ 开始和结束您的模式。这将起作用:
preg_replace('~&page=[0-9]+~', '', 'www.example.com?category=computers&page=10');
您的正则表达式失败,因为您正在搜索 page
参数后的 & 符号及其值。
您可以通过在其后附加一个问号来使 & 符号可选。
$url = 'www.example.com?category=computers&page=10';
$cleanUrl = preg_replace('/page=[0-9,]+&?/', '', $url);
示例,https://regex101.com/r/uW8uV8/1
要获得更多通过正则表达式的尝试:
<?php
$url = 'www.example.com?&category=cat&page=10';
$cleanUrl = rtrim(preg_replace('/(&|\?)page=[0-9,]+&?/', '', $url), '&?');
echo $cleanUrl;
这需要 rtrim
函数来删除尾随参数胶水。这将占...
Page by itself, www.example.com?page=10
Page as the last parameter, www.example.com?species=wolf&page=10
Page as the first parameter, www.example.com?page=10&species=wolf
Page as a middle parameter, www.example.com?cat=tom&mouse=jerry&page=10&species=wolf