人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの質問です。
$base='/home';
$target="/home/test";

正規表現つかって、$base の部分をとりさりたいのですが、つまり test以下だけにする
どう記述するといいのでしょうか?
下記のような記述をするといいというのを見たのですが、違うようです。

preg_replace("|/^" . urlencode($base) . "/|", '', $target);



●質問者: kaiketsu
●カテゴリ:コンピュータ インターネット
✍キーワード:base HOME PHP test 正規表現
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● deflation
●100ポイント ベストアンサー

基本的には以下のようにします。

<?php
$base='/home';
$target="/home/test";

$base_q = preg_quote($base, '/');
$str = preg_replace("/{$base_q}/", '', $target);
echo $str;
?>

testの前にあるスラッシュを含めて取り除きたいのであれば、

$base='/home/';

とするか、

$str = preg_replace("/{$base_q}\//", '', $target);

としてください。


参考「PHP&正規表現

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ