2ch互換のトリップ文字列を作成して戻す関数です。
ただし,トリップ文字列に半角英数以外が含まれる場合は,異なる内容※となります。
(※crypt関数の仕様による)
> トップページ > 関数 > トリップ作成
トリップ作成
コード
/**
* 名前に含まれる #以降の文字列をトリップ文字列に変換し戻す
* 例: テスト#1234 → テスト ◆tr.t4dJfuU
*
* @param string $name 名前
* @return string
*/
function TripFunction($name)
{
// 最初から含まれている◆を◇に置換
$name = str_replace("◆", "◇", $name);
// #以降を取得
preg_match("/\#(.+)$/", $name, $match);
$key = $match[1];
// #以降が存在しない
if (!$key) {
return $name;
}
// saltを取得
$salt = substr($key, 1, 2);
$trip = crypt($key, $salt);
// トリップ生成
$trip = preg_replace("/^.*?(.{10})$/", "\\1", $trip);
$ret = preg_replace("/\#(.+)$/", " ◆".$trip, $name);
return $ret;
}
サンプル
$name = 'テスト#1234'; echo TripFunction($name);
結果
テスト ◆tr.t4dJfuU