次の文字列を含む文字列を再フォーマットする必要があります。
$string = "---8\7----";
問題は、「\7」がPHPによって「\」と「7」の順にではなく8進値として解釈されることです。
PHPがこれを行うのをブロックするにはどうすればよいですか?もちろん、私は'\'ありがとうを維持する必要があります。
他の人が言ったように、バックスラッシュを別のバックスラッシュでエスケープしますが、なぜこれが起こるのかについて言及する必要があると思います. あなたの文字列は二重引用符で書かれており、PHP では特定のルールが呼び出されるテンプレート モードに入ります。一重引用符を使用すると、テンプレート化を行わないため、これも修正されます。
$string = '---8\7----';
これは 2 つのモードの長所と短所ですが、これを認識している限り、将来的にあまり苦しむことはありません。:)
その文字をエスケープするには、バックスラッシュを指定する必要があります。
$string = "---8\\7----";
バックスラッシュをエスケープします。
$string = "---8\\7----";
2 つのスラッシュを使用します。
$string = "---8\\7----";
エスケープ文字を使用:
$string = "---8\\7----";