我正在努力创建一个正则表达式来打印我想要的url部分。使用PHP,我抓住主域名之后的路径。他们看起来像:
this-link-1
this-is-another-one-3
我用来抓住这些的php就像:
$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$whereami = parse_url($url, PHP_URL_PATH);
echo $whereami;
有人可以帮我写一个正则表达式来总是删除 - #for whereami变量吗?因此,在此示例中,$ whereami在运行表达式
后将为this-link
和this-is-another-one
答案 0 :(得分:4)
preg_replace("/-\d+$/", "", $whereami)
示例:
echo preg_replace("/-\d+$/", "", "this-is-another-one-3");
输出:
this-is-another-one
答案 1 :(得分:1)
您也可以在没有正则表达式的情况下执行此操作:
echo implode('-', explode('-', 'this-link-1', -1));
结果:
this-link