str_rot13

関数の概要

PHPの str_rot13 関数は、文字列のアルファベットをROT13方式で変換します。ROT13とは、アルファベットを13文字分ずらすシーザー暗号の一種で、簡単な文字列のエンコードやデコードに使われます。英字以外の文字は変換されません。

パラメータの説明

  • string : ROT13変換を行いたい入力の文字列を指定します。

戻り値

引数として渡した文字列のROT13変換後の文字列を返します。元の文字列が英字であれば、それぞれ13文字進んだ文字に置き換わります。

使用例

基本的な使い方

<?php
$input = "Hello World!";
$output = str_rot13($input);
echo $output;  // 出力: Uryyb Jbeyq!
?>

この例では「Hello World!」という文字列をROT13変換し、「Uryyb Jbeyq!」が得られます。英字のみが13文字ずつ変換されています。

逆変換も簡単に可能

<?php
$encoded = "Uryyb Jbeyq!";
$decoded = str_rot13($encoded);
echo $decoded;  // 出力: Hello World!
?>

ROT13は自己逆変換の性質があるため、もう一度同じ関数を通すだけで元の文字列に戻せます。

アルファベット以外の文字は変換されない

<?php
$text = "1234!@# abc XYZ";
$result = str_rot13($text);
echo $result;  // 出力: 1234!@# nop KLM
?>

数字や記号はそのまま保持され、英字のみが変換の対象になります。

関連する関数

  • strtoupper – 文字列をすべて大文字に変換
  • strtolower – 文字列をすべて小文字に変換
  • strtr – 文字列の指定した文字を別の文字に置換
  • substr – 文字列の一部を抜き出す

まとめ

str_rot13 はPHPで簡単にROT13文字変換ができる便利な関数です。シンプルなシーザー暗号として文字列の簡易的なエンコード・デコードに使われます。英数字や記号には影響なく、英字のみを13文字ずらすため、駄洒落や謎解き、テスト用データの加工などに役立ちます。使い方もシンプルでパラメータは1つだけなので、PHPの文字列操作に慣れていない初心者でも扱いやすい関数です。