文字列内の一連の 2 つ以上のバックスラッシュをすべて検索し、それを 1 つのバックスラッシュに置き換えたい、短くて単純な PHP スクリプトがあります。
<?php
$link = 'www\\root\\\\test\\';
echo preg_replace('/[\\]{2,}/', '\\', $link);
?>
したがって、実際にはすべてのバックスラッシュを適切にエスケープしたと思いますが、コードを実行すると、終了]
ブラケットが見つからないというエラーが返されます。したがって、これはバックスラッシュの代わりにエスケープされているように思えますが、これは私を混乱させます。文字クラス内でバックスラッシュをエスケープするには、実際にはそれとは異なる方法が必要ですか?