正则表达式有助于从网址中获取值

时间:2011-06-29 22:39:30

标签: php regex

我正在努力创建一个正则表达式来打印我想要的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-linkthis-is-another-one

2 个答案:

答案 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