PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのaddcslashes()関数の使い方を解説!文字列にバックスラッシュを付加する方法

PHPのaddcslashes()関数は、指定した文字の前にバックスラッシュ(\)を付加した文字列を返す関数です。C言語スタイルのエスケープ処理に相当し、単一の文字だけでなく「a..r」のような文字範囲を指定してまとめてエスケープできるのが特徴です。

注意:addcslashes()関数は大文字と小文字を区別します。そのため、「W」を指定しても小文字の「w」はエスケープされません。

構文

addcslashes(str, characters)

パラメータ

  • str − エスケープ処理の対象となる文字列

  • characters − エスケープしたい文字、またはエスケープ対象となる文字の範囲(例:「a..r」)

戻り値

addcslashes()関数は、指定された文字の直前にバックスラッシュが付加された文字列を返します。

使用例1:特定の文字をエスケープする

次の例では、文字列中の「W」の前にバックスラッシュを付加しています。

<?php
    $str = addcslashes("First World!", "W");
    echo($str);
?>

出力結果

First \World!

「World」の先頭にある大文字の「W」だけがエスケープされていることが確認できます。

使用例2:文字の範囲を指定してエスケープする

次の例では、「a」から「r」までの範囲(a..r)に含まれるすべての文字をエスケープしています。

<?php
    $str = addcslashes("First World!", "a..r");
    echo($str);
?>

出力結果

F\i\rst W\o\r\l\d!

このように、範囲指定を使うことでアルファベットの連続した文字を一括してエスケープできます。範囲内に含まれる「i」「r」「o」「l」「d」などがそれぞれバックスラッシュ付きになっている点に注目してください。

まとめ

addcslashes()関数は、特定の文字や文字範囲の前にバックスラッシュを付けてエスケープ処理を行うための関数です。大文字・小文字を区別すること、また「開始文字..終了文字」の形式で範囲指定が可能なことを覚えておくと、文字列操作の幅が広がります。

  1. PHPのstrtolower()関数とは?文字列をすべて小文字に変換する方法

    PHPのstrtolower()関数は、文字列に含まれるすべての英字を小文字に変換するための組み込み関数です。大文字が含まれる文字列を渡すと、すべての文字が小文字に変換された新しい文字列を返します。ユーザー入力の正規化や、大文字・小文字を区別しない比較処理などでよく利用されます。構文strtolower(str)パラメータstr − 小文字に変換したい対象の文字列を指定します。このパラメータは必須です。戻り値strtolower()関数は、引数として渡された文字列のすべての英字を小文字に変換した文字列を返します。数字や記号など、アルファベット以外の文字はそのまま維持されます。使用例以下は、st

  2. PHPのctype_print()関数の使い方:文字列が印字可能かどうかを判定する

    PHPのctype_print()関数は、指定された文字列に含まれるすべての文字が印字可能な文字(printable character)であるかどうかをチェックします。空白スペースも印字可能な文字として扱われます。 文字列内のすべての文字が実際に出力を生成できる場合はTRUEを返し、制御文字や出力・制御機能を一切持たない文字が含まれている場合はFALSEを返します。 構文 ctype_print(str) パラメータ str − チェック対象となる文字列です。 戻り値 文字列内のすべての文字が実際に出力を生成できる場合(空白を含む)はTRUEを返します。制御文字や、出力・制御機能を持た