web-dev-qa-db-ja.com

リンクの最初のスラッシュを削除しますか?

次のようにフォーマットされたリンク内の最初のスラッシュを削除する必要があります。

/directory/link.php

私は持っている必要があります:

directory/link.php

私は正規表現(preg_replace?)に精通しておらず、それらのスラッシュは私を殺しています。

私はあなたの助けが必要ですstackoverflow!

どうもありがとうございました!

25
0plus1

誰もそれについて言及したことがないという理由だけで:

_$uri = "/directory/link.php";
$uri = ltrim($uri, '/');
_

これの利点は次のとおりです。

  • substr() solutionと比較すると、スラッシュで始まらないパスでも機能します。したがって、URIで同じ手順を複数回使用するのは安全です。

  • preg_replace() solutionと比較して、確かにはるかに高速です。そのような些細なタスクのために正規表現エンジンを作動させることは、私の意見ではやり過ぎです。

87
Stefan Gehrig
preg_replace('/^\//', '', $link);
5
duckyflip

常に最初の文字である場合は、正規表現は必要ありません。

$uri = "/directory/link.php";
$uri = substr($uri, 1);
3
karim79