2011-06-29 25 views
1

私は、私が望むURLの部分を印刷する正規表現を作成するのに苦労しています。 PHPでは、私はプライマリドメイン名の後のパスをつかんでいます。URLから値を取得するRegexの助けを借りて

this-link-1 
this-is-another-one-3 

私はこれらをつかむために使用していますPHPのようなである: - whereami変数の#

$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; 

誰かが私を常に削除する正規表現を書く助けることができる彼らは次のようになり?したがって、この例の$ whereamiからの発現を介して実行した後this-linkthis-is-another-oneだろう

答えて

4
preg_replace("/-\d+$/", "", $whereami) 

例:

echo preg_replace("/-\d+$/", "", "this-is-another-one-3"); 

出力:

this-is-another-one 
+0

はい!これは素晴らしい、どのように役立つと私は正規表現を学ぶつもりはない:) – Zac

1

あなたはまた、正規表現せずにそれを行うことができます。

echo implode('-', explode('-', 'this-link-1', -1)); 

結果:

this-link 
関連する問題