関数・クラス解説
addcslashes
version:PHP 4, PHP 5, PHP 7 (公式)文字列をバックスラッシュでクォート(エスケープ)する
フォーマット
string : addcslashes ( string $str , string $charlist )
パラメータ
string $str
エスケープしたい文字列
string $charlist
エスケープ対象の文字列。"a..z" という形式で指定し、この場合はa~z の範囲が指定される。逆順で指定するとWarningとなる。
返り値
string
バックスラッシュ付加後の文字列
解説
指定された文字列(string $str)のなかで、指定された文字範囲(string $charlist)の文字の前にバックスラッシュ(\)を付加する。
記述サンプル
//PHP 7.4.6で実行
$testStr = "ABCDEFGHIabcdefg[\]^_`";
//A~Z(アルファベット大文字)をクォート
echo addcslashes($testStr, 'A..Z'); //\A\B\C\D\E\F\G\H\Iabcdefg[\]^_`
//A(大文字)~z(小文字)までクォート。ただしこの指定は、該当範囲に[\]^_`も含まれてしまうためすべてクォートされてしまう(下記文字コード順を参照)
echo addcslashes($testStr, 'A..z'); //\A\B\C\D\E\F\G\H\I\a\b\c\d\e\f\g\[\\\]\^\_\`
//範囲指定が逆順のためエラー(下記文字コード順を参照)
echo addcslashes($testStr, 'z..A'); //\ABCDEFGHIabcdefg[\]^_`
Warning: addcslashes(): Invalid '..'-range, '..'-range needs to be incrementing
参考:文字コード順
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
参考リンク
・addslashes 特定の文字の前にバックスラッシュを付けてエスケープされた文字列を返す・htmlspecialchars 特殊な文字をHTMLエンティティに変換する
・quotemeta 入力文字列の中のメタ文字をクォートする
・stripcslashes addcslashes() でクォートされた文字列をアンクォートする
・stripslashes バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
タグ
エスケープ String 文字列
公式リファレンス
書式
addcslashes ( string $str , string $charlist ) : string
説明
charlist パラメータに羅列された文字の前にバックスラッシュを付けた文字列を返します。
パラメータ
- str
- エスケープしたい文字列。
- charlist
- エスケープの対象となる文字を並べたもの。 charlist が \n, \r 等の文字を含んでいる場合、 C言語と同様の手法によりエスケープされます。 アスキーコードが32未満または126より大きい文字は、8進表現に変換されます。 charlist 引数の文字の列びを定義する際には、 範囲の最初と最後で指定する文字集合に含まれる文字の種類を把握するようにしてください。
echo addcslashes('foo[ ]', 'A..z'); // 出力: \f\o\o\[ \] // 全ての大文字と小文字はエスケープされます。 // ... しかし、[\]^_` もエスケープされてしまいます。
echo addcslashes("zoo['.']", 'z..A'); // 出力: \zoo['\.']
返値
エスケープされた文字列を返します。
サンプル
"\0..\37" のように charlist に範囲を指定可能です。この場合、アスキーコードが 0 から 31 の範囲の文字は全てエスケープされます。
例1 addcslashes() の例
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール