addslashes(string $string): string
エスケープすべき文字の前にバックスラッシュを付けて返します。 エスケープすべき文字とは、以下のとおりです。
シングルクォート (‘)
ダブルクォート (“)
バックスラッシュ (\)
NUL (null バイト)
stripslashes(string $string): string
クォートされた文字列を元に戻します。
htmlentities
htmlentities(
string $string,
int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML5,
?string $encoding = null,
bool $double_encode = true
): string
適用可能な文字を全て HTML エンティティに変換する。
この関数は[htmlspecialchars()](https://www.php.net/manual/ja/function.htmlspecialchars.php)と同じですが、 HTML エンティティと等価な意味を有する文字をHTMLエンティティに変換します。
半角カタカナや記号、ウムラウト付き文字などもエスケープする。
変換対象:不等号(<、>)、アンパサンド(&)、アクセント記号、ウムラウト付き文字
html_entity_decode
html_entity_decode(
string $string,
int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
?string $encoding = null
): string
HTML エンティティを対応する文字に変換する。
htmlspecialchars
htmlspecialchars(
string $string,
int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
?string $encoding = null,
bool $double_encode = true
): string
特殊文字を HTML エンティティに変換する。
HTMLの特殊文字のみをエスケープ
対象となるのは、& “ ‘ < > だけ
$encodingのデフォルト値は php.ini の default_charset の値。
$double_encode は文字列中のHTML エンティティを変換対象にするか否か。既定ではtrue。
print htmlspecialchars("<a href='test'> A & B</a>", ENT_QUOTES, 'UTF-8', true);
//結果:<a href='test'> A &amp; B</a>
//&の & が変換されて &amp; と出力される
print htmlspecialchars("<a href='test'> A & B</a>", ENT_QUOTES, 'UTF-8', false);
//結果:<a href='test'> A & B</a>
//falseを指定すると & は対象とならず、そのまま & と出力される
htmlspecialchars_decode
特殊な HTML エンティティを文字に戻す。
get_html_translation_table
htmlspecialchars() および htmlentities() において内部的に使用される変換テーブルを返します。
strip_tags(string $string, array|string|null $allowed_tags = null): string
指定した文字列 (string) から全ての NULL バイトと HTML および PHP タグを取り除きます。
$allowed_tags取り除かないタグを指定する。開始タグのみで終了タグも対象となる。php7.4.0以降配列も可能。
HTMLコメントや PHPタグも削除されるようになりました。この機能はハードコードされており、 allowed_tags で変更することはできません。
implode(string $separator, array $array): string
配列をセパレーターでつないだ文字列にする。
join() はimplode() のエイリアス。
explode(string $separator, string $string, int $limit = PHP_INT_MAX): array
文字列を配列にする。
limit に正の値が指定された場合、返される配列には 最大 limit の要素が含まれ、その最後の要素には string の残りの部分が全て含まれます。
limitが負数の場合、後ろから数えてlimit分の要素を除く構成要素が返される。
$str = '一郎と次郎と三郎と花子と太郎';
print_r(explode('と', $str, -2));
//結果: 花子、太郎は除れる
Array
(
[0] => 一郎
[1] => 次郎
[2] => 三郎
)
str_pad
str_pad(
string $string,
int $length,
string $pad_string = " ",
int $pad_type = STR_PAD_RIGHT
): string
文字列を他の文字列で埋める。
$length 返される文字列の長さ。
$pad_string 埋める文字列。指定されない場合、空白で埋める。
$pad_type STR_PAD_RIGHT(規定)、STR_PAD_LEFT、STR_PAD_BOTH
str_repeat(string $string, int $times): string
string を times 回を繰り返した文字列を返します。
times は 0 以上でなければなりません。 times が 0 に設定された場合、この関数は空文字を返します。
str_replace
str_replace(
array|string $search,
array|string $replace,
string|array $subject,
int &$count = null
): string|array
search に配列を渡すと、対象文字が全てreplaceで変換される。
両方配列を渡すと、search と replace に各配列から一つずつ取り出して処理する。この場合原則としてsearchとreplaceの要素数は同じでなければならないが、異なっていてもエラーにはならない。
replaceの方が多い場合余った要素は無視される。replaceが少ない場合対応する要素のないsearchの要素は空文字で置換される。
戻り値
この関数は、置換後の文字列あるいは配列を返します。
preg_replace
preg_replace(
string|array $pattern,
string|array $replacement,
string|array $subject,
int $limit = -1,
int &$count = null
): string|array|null
正規表現検索および置換を行う。
str_replace 同様、配列を渡すことも可能。
strlen(string $string): int
与えられた string の長さを返します。
返すのはバイト数であり、 文字数ではありません。
mb_strlen(string $string, ?string $encoding = null): int
マルチバイト文字列関数。
文字列の長さを取得します。マルチバイト文字一文字を1個として数える。
$encoding(文字エンコード名)を省略すると、php.ini の default_charsetパラメーターで設定した規定の文字コードが使われる。
不明な encoding を指定した場合は E_WARNING レベルの警告が生成されます。
mb_convert_case(string $string, int $mode, ?string $encoding = null): string
文字列の大文字/小文字を変換する。全角文字(マルチバイト文字)にも使用できる。
(ケースフォールディングを行う)
モード | 概要 |
---|---|
MB_CASE_UPPER | 小文字⇒大文字に変換 |
MB_CASE_LOWER | 大文字⇒小文字に変換 |
MB_CASE_TITLE | 先頭文字を大文字に変換(それ以外は小文字) |
MB_CASE_FOLD | 文字列に存在する大文字小文字の区別を取り除く |
MB_CASE_XXXXX_SIMPLE | 文字列長が変化しない変換(XXXXXはLOWER、UPPER、TITLE) |
mb_convert_kana(string $string, string $mode = “KV”, ?string $encoding = null): string
マルチバイト文字をひらがなからカタカナ、全角文字から半角文字などの変換ができます。
この関数は日本語のみで使用可能です。