0

4 つの ereg_replace 式を preg_replace に変換する必要があります。私はチュートリアルに基づいてさまざまな組み合わせを試してきましたが、自分のサイトを機能させるのに行き過ぎていません.

親切な魂がこれらを解決するのを手伝ってくれますか?

$path = ereg_replace('\.[\.]+', '', $path); // remove any '..' (jumping up a directory)
$path = ereg_replace('/[/]+', '/', $path);
$back_url = ereg_replace('dir=[^\&]*', "dir=$back_directory", $this->current_url);
$dir_url = ereg_replace('dir=[^\&]*', "dir=$dirpath", $this->current_url);

ありがとう

4

1 に答える 1

0

ereg を preg に変換するには、正規表現を区切り文字で囲む必要があります。
最も一般的なのは です/が、スペース以外のほぼすべての文字を使用できます。
また、正規表現で選択した区切り文字がないことに注意する必要があります。この場合、これらの文字をエスケープするか、別の区切り文字を使用する必要があります。

あなたの例では:

ereg_replace('\.[\.]+', '', $path);

になる

preg_replace('/\.[.]+/', '', $path); 

また

preg_replace('/\.{2,}/', '', path);

ereg_replace('/[/]+', '/', $path);

になる

preg_replace('/\/[\/]+/', '/', $path);

また

preg_replace('~/[/]+~', '/', $path);

また

preg_replace(':/{2,}:', '/', $path);
于 2013-10-12T11:45:02.910 に答える