2016-09-04 13 views
-1

私はpreg_replaceでURL内のドットを入れたいURLのドットをダッシュ​​で置き換えてください

どうすればいいですか?

URLは次のとおりです。

http://localhost/../images/

私はそれになる必要があります。

http://localhost/images/

私はこのようにそれを作ってみる:

$url = 'http://localhost/../images/'; 
$final = preg_replace('\/', '/\..\/', $url); 

私もしてみてくださいこのように:

$url = 'http://localhost/../images/'; 
$final = preg_replace('/', '/../', $url); 
+0

コードはどこにありますか?何か試しましたか? – Godiez

+1

'str_replace( '../'、 ''、$ string);'はその仕事をします。 – Michel

答えて

1

preg_replaceあなたのpreg_replaceの使用法は正しくありませんが、これには正規表現は必要ありません。静的置換の場合は、str_replaceを使用してください。

$url = 'http://localhost/../images/'; 
$url = str_replace('..', '', $url); 

でも、おそらく/を検索に含める必要があります。

お客様のpreg_replaceは反転されたパターンで、最初のパラメータと2番目の置換値です。 http://php.net/manual/en/function.preg-replace.php

だから、正しいpreg_replaceは次のようになります。また、このドメインとディレクトリの間の第三/を入れている

$url = 'http://localhost/../images/'; 
$final = preg_replace('/\.\./', '/', $url); 

/はパターンでdelimitersです。それはどういう意味ですか?

.は特殊文字であり、エスケープする必要があることに注意してください。

関連する問題