stripcslashes

関数の概要

PHPの stripcslashes 関数は、文字列の中に含まれるC言語スタイルのエスケープシーケンス(例えば、バックスラッシュに続く特殊文字列)を元の文字に変換します。特に、バックスラッシュ () でエスケープされた文字を元の文字に戻したい場合に使われます。

パラメータの説明

  • string:エスケープ解除したい文字列を指定します。C言語形式のエスケープシーケンスが含まれている必要があります。

戻り値

エスケープシーケンスが解除された新しい文字列を返します。元の文字列には影響を与えません。

使用例

基本的な使い方

<?php
$escaped = "Hello\nWorld\t!";
$unescaped = stripcslashes($escaped);
echo $unescaped;
// 出力結果:
// Hello
// World    !
?>

この例では、文字列の中にある \n\t が改行とタブに変換されます。

複数のエスケープシーケンスが混在する場合

<?php
$str = "Path: C:\\Users\\Admin\nNew line here.";
$result = stripcslashes($str);
echo $result;
// 出力結果:
// Path: C:UsersAdmin
// New line here.
?>

バックスラッシュを表すために \\ と二重で書いている部分も正しく元のバックスラッシュ1つに戻されます。

文字列中の特殊文字列を解除する例

<?php
$txt = "Tab\tSeparated\nValues\x21";
echo stripcslashes($txt);
// 出力結果:
// Tab	Separated
// Values!
?>

ここでは、\t(タブ)、\n(改行)、および \x21(感嘆符の16進エンコード)も正しく変換されています。

関連する関数

  • addcslashes():指定した文字をCスタイルのエスケープ文字列に変換する
  • stripslashes():バックスラッシュでエスケープされた文字を除去する
  • htmlspecialchars():特殊なHTML文字をエスケープする

まとめ

stripcslashes は、C言語形式のエスケープシーケンスが含まれる文字列を扱う際に非常に便利な関数です。特にバックスラッシュが意味を持つ環境でエスケープされた文字列の復元に適しており、PHPでの文字列操作やデータ受け渡しの際に役立ちます。実務でもファイルパスやコマンド出力の整形など多くの場面で活用できますので、正しく使えるよう覚えておくと良いでしょう。