PHP

スポンサーリンク
C#

バイブコーディングとセキュリティーについて

バイブコーディングの本質と現代開発における位置づけバイブコーディングとは、仕様や設計書に厳密に従うのではなく、直感や流れ、試行錯誤を重視してコードを書く開発スタイルである。とくにAIによるコード生成や...
C#

日本の企業・官公庁が公開している無料API

日本では政府・自治体・企業が公開している無料APIが多数あります。実務や個人開発でよく使われるものを、カテゴリ別に整理して紹介します。官公庁・政府系API統計・経済データ1. 総務省統計局 – e-S...
PHP

PHP Tips | 文字列処理:ログ・表示向け - デバッグ用 var_export 文字列化

「デバッグ用 var_export 文字列化」とは何をしたいのかデバッグしているとき、「この変数の中身、今どうなってるの?」って何度も思いますよね。配列、オブジェクト、ネストしたデータ構造……目で確認...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 長文をログ向け短縮

なぜ「長文をログ向け短縮」する必要があるのか業務システムのログには、ときどき「とんでもなく長い文字列」が流れてきます。巨大な JSON、ユーザーの長文入力、外部 API のレスポンス全文などが典型です...
PHP

PHP Tips | 文字列処理:ログ・表示向け - ログ用 1 行整形

なぜ「ログ用 1 行整形」が必要なのかログって、本来は「あとから原因を追いやすくするための情報」ですよね。でも、何も考えずに文字列をそのまま error_log() に投げていると、こうなりがちです。...
PHP

PHP Tips | 文字列処理:ログ・表示向け - エラーメッセージ整形

なぜ「エラーメッセージ整形」が必要なのかエラーメッセージって、放っておくとすぐに「バラバラ」になります。同じようなエラーなのに、「必須です」「入力してください」「この項目は必須です」みたいに表現が揺れ...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示安全文字列生成

「表示安全文字列生成」とは何をするものかここで言う「表示安全文字列」は、ざっくり言うとこういう文字列です。画面に出してもレイアウトが壊れない。ログに出してもビューアが変にならない。HTML やターミナ...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 制御文字除去

なぜ「制御文字除去」が必要になるのか業務で外部システムやユーザー入力の文字列を扱っていると、ときどき「見えない変な文字」が紛れ込みます。コピー&ペーストしたテキスト、外部 API のレスポンス、古いシ...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 伏字変換

「伏字変換」で何をしたいのか伏字変換は、「文字列の一部を別の文字(*や●など)に置き換える」ことです。目的はだいたい 2 つあります。1つ目は「見せたくない情報を隠す」こと。NG ワード、暴言、機密情...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示用マスク(名前)

「表示用マスク(名前)」で何を守りたいのか名前も、メールや電話と同じく「個人を特定しやすい情報」です。でも業務では、こういうニーズがよく出てきます。ログや通知には「誰の処理か」は分かりたい。サポート画...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示用マスク(電話)

「表示用マスク(電話)」で何を守りたいのか電話番号もメールと同じく、個人をかなり特定できる情報です。でも業務では、こういうニーズがよく出てきます。誰のレコードかは判別したい。ログや画面には「丸裸の番号...
PHP

PHP Tips | 文字列処理:ログ・表示向け - 表示用マスク(メール)

「表示用マスク(メール)」で何を守りたいのかメールアドレスは、個人情報のど真ん中です。でも業務では、ログや画面に「誰のことかは分かりたい」場面も多いですよね。ログに「ユーザーのメールアドレス」をそのま...
PHP

PHP Tips | 文字列処理:実務向け便利系 - Unicode 正規化

なぜ「Unicode 正規化」が実務で問題になるのか同じ「見た目」の文字でも、内部的には“別の文字列”として扱われてしまうことがあります。これが Unicode 正規化の話です。例えば、次の 2 つは...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 文字列中の数値を数値化

「文字列中の数値を数値化」とは何をしたいのか業務システムでは、ユーザー入力や CSV から読み込んだ値が「文字列」として渡ってくることが多いです。"123"" 1,234 ""9876"(全角)見た目...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 先頭ゼロ埋め

「先頭ゼロ埋め」で何をしたいのか先頭ゼロ埋めは、一言でいうと「数字や文字列を、決めた桁数になるように左側を 0 で埋める」ことです。社員番号を 000123 のように 6 桁でそろえたい。請求書番号を...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 配列を改行文字列に変換

なぜ「配列を改行文字列に変換」したくなるのかさっきまでやっていた「複数行テキストを配列化」の逆方向が、今回の「配列を改行文字列に変換」です。例えば、こんな場面がよくあります。画面のテキストエリアに、配...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 複数行テキストを配列化

なぜ「複数行テキストを配列化」するのか業務でよくあるのが、こんなテキストです。山田太郎佐藤花子鈴木一郎これを「1 行ずつ処理したい」「1 行ずつバリデーションしたい」「1 行ずつ DB に登録したい」...
PHP

PHP Tips | 文字列処理:実務向け便利系 - 改行を除去した1行化

なぜ「改行を除去した1行化」が必要になるのか業務で文字列を扱っていると、「中身はそのままでいいから、とにかく“1行の文字列”にしたい」という場面がよく出てきます。ログに出すときに、改行があると見づらい...
PHP

PHP Tips | 文字列処理:実務向け便利系 - JSON デコード(例外対応)

なぜ「JSON デコード(例外対応)」が必要なのか業務で JSON を扱うとき、ほぼ必ずやるのが「文字列 → 配列(オブジェクト)」への変換、つまり JSON デコードです。ここで怖いのは、「壊れた ...
PHP

PHP Tips | 文字列処理:実務向け便利系 - JSON 安全エンコード

「JSON 安全エンコード」で何を守りたいのかJSON 自体はただのデータ形式ですが、「どこに出すか」で話が一気に“セキュリティの話”になります。特に危険なのは、JSON をそのまま HTML や J...
PHP

PHP Tips | 文字列処理:実務向け便利系 - TSV 用エスケープ

なぜ「TSV 用エスケープ」が必要になるのかTSV は「Tab Separated Values」、区切り文字がカンマではなくタブ(\t)のテキスト形式です。CSV よりシンプルに見えますが、「そのま...
PHP

PHP Tips | 文字列処理:実務向け便利系 - CSV 用エスケープ

なぜ「CSV 用エスケープ」が必要になるのか業務で CSV を扱うとき、よくあるのが「Excel で開ける CSV を出したい」「システム間連携用に CSV を吐きたい」というパターンです。ここで雑に...
PHP

PHP Tips | 文字列処理:ランダム・生成 – CSRF トークン生成

まず「CSRF トークン生成」で何を守りたいのかCSRF トークンは、一言でいうと「フォーム送信が“本当にそのユーザーの意思で行われたものか”を確認するための秘密の合言葉」です。例えば、ユーザーがログ...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ハッシュ検証

「ハッシュ検証」で何を確かめたいのかまず、「ハッシュ検証」という言葉のイメージから整理します。ハッシュ検証とは、ざっくり言うと、「今手元にある“生の値”が、保存されている“ハッシュ値”と本当に対応して...
PHP

PHP Tips | 文字列処理:ランダム・生成 – パスワード用ハッシュ生成

まず、「パスワード用ハッシュ生成」で何をしたいのかパスワード用ハッシュ生成の目的は一言でいうと、「パスワードそのものは絶対に保存せず、“検証にだけ使える形”で安全に保存する」ことです。ユーザーが入力し...
PHP

PHP Tips | 文字列処理:ランダム・生成 – salt 付きハッシュ

まず「salt 付きハッシュ」で何を守りたいのかsalt(ソルト)付きハッシュは、一言でいうと、「同じ値でも、ユーザーごと・レコードごとに違うハッシュ値にする仕組み」です。例えば、パスワード "pas...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ハッシュ化(SHA-256)

そもそも「ハッシュ化(SHA-256)」って何をするもの?まず、「ハッシュ化」という言葉のイメージから整理します。ハッシュ化は、ざっくり言うとこういう変換です。入力: "hello"出力: "2cf2...
PHP

PHP Tips | 文字列処理:ランダム・生成 – 短縮 ID 生成

「短縮 ID 生成」で何をしたいのかイメージするまず、どんな場面で「短い ID」が欲しくなるかをイメージしてみましょう。URL 短縮サービスの「短いコード」人に読み上げやすい予約番号や受付番号画面上に...
PHP

PHP Tips | 文字列処理:ランダム・生成 – UUID v4 生成

UUID v4 ってそもそも何者?まずは「UUID v4」が何なのか、イメージから掴みましょう。よく見るこの形の文字列が UUID です。550e8400-e29b-41d4-a716-4466554...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ワンタイムトークン生成

そもそも「ワンタイムトークン」とは何かまず、言葉のイメージをはっきりさせます。ワンタイムトークンは、ざっくり言うとこういうものです。一度きり、または短時間だけ有効な「秘密の合言葉」URL やフォームに...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ランダム文字列生成(記号なし)

何のために「記号なしランダム文字列」を作るのかまず、どんな場面で使うかをイメージしましょう。URL パラメータに載せるトークンだけど、「+ や / などの記号は使いたくない」。ユーザーに口頭で伝えるコ...
PHP

PHP Tips | 文字列処理:ランダム・生成 – ランダム文字列生成(英数字)

何のために「ランダム英数字文字列」を作るのかまず、どんな場面で使うかをイメージしましょう。ユーザーごとの招待コード一時的なトークン(メール認証、パスワードリセット)ファイル名やディレクトリ名の衝突回避...
PHP

PHP Tips | 文字列処理:URL・パス系 – 日本語ファイル名安全化

「日本語ファイル名安全化」で何をしたいのかイメージするまず、ゴールのイメージからはっきりさせます。「請求書_2025年3月分(最終版).pdf」「写真 ① 家族旅行@沖縄.jpg」こういう“人間には読...
PHP

PHP Tips | 文字列処理:URL・パス系 – パス正規化(../ 除去)

「パス正規化(../ 除去)」で何をしたいのかイメージするまず、ゴールのイメージからはっきりさせます。"/var/www/html/../shared/config.php" → "/var/www/...
PHP

PHP Tips | 文字列処理:URL・パス系 – パス結合ユーティリティ

「パス結合ユーティリティ」で何を楽にしたいのかまず、やりたいことのイメージからいきます。ベース: "/var/www/html"追加: "logs/app.log"→ "/var/www/html/l...
PHP

PHP Tips | 文字列処理:URL・パス系 – 拡張子除去

「拡張子除去」で何をしたいのかイメージするまず、ゴールをはっきりさせます。"/var/www/html/report/sales.csv" → "/var/www/html/report/sales"...
PHP

PHP Tips | 文字列処理:URL・パス系 – 拡張子取得

「拡張子取得」で何をしたいのかイメージするまず、ゴールをはっきりさせます。"/var/www/html/report/sales.csv" → "csv""/var/www/html/image/ph...
PHP

PHP Tips | 文字列処理:URL・パス系 – ファイル名のみ取得

「ファイル名のみ取得」で何をしたいのかイメージするまず、ゴールのイメージからはっきりさせます。"/var/www/html/report/2025/sales.csv" → "sales.csv""/...
PHP

PHP Tips | 文字列処理:URL・パス系 – 配列をクエリ文字列化

「配列をクエリ文字列化」で何をしたいのかまず、ゴールのイメージからいきます。['q' => 'php', 'sort' => 'desc', 'page' => 2]→ "q=php&sort=des...
PHP

PHP Tips | 文字列処理:URL・パス系 – クエリ文字列を配列化

「クエリ文字列を配列化」で何をしたいのかまず、ゴールのイメージからいきます。"?q=php&sort=desc&page=2"→ ['q' => 'php', 'sort' => 'desc', 'p...
PHP

PHP Tips | 文字列処理:URL・パス系 – URL からドメイン取得

「URL からドメイン取得」で何をしたいのかまずゴールをはっきりさせます。"" → "example.com""" → "sub.example.co.jp""" → "localhost""" → ...
PHP

PHP Tips | 文字列処理:URL・パス系 – URL 正規化

まず「URL 正規化」で何をしたいのかイメージする「URL 正規化」と聞くと難しく感じますが、やりたいことは意外とシンプルです。""""""これらが「全部同じ場所を指している」のに、文字列としてはバラ...
PHP

PHP Tips | 文字列処理:フォーマット – HTML エスケープ

「HTML エスケープ」で何を守りたいのかまず、ここをちゃんとイメージしてほしいです。ユーザー入力をそのまま画面に出すと、こういうことが起きます。$name = $_GET['name'] ?? 'ゲ...
PHP

PHP Tips | 文字列処理:フォーマット – URL デコード

「URL デコード」で何をしたいのかイメージする前回の「URL エンコード」は、「生の文字列 → URL 用に安全な文字列(%E3%81…)」への変換でした。URL デコードは、その逆です。"Hell...
PHP

PHP Tips | 文字列処理:フォーマット – URL エンコード

そもそも「URL エンコード」とは何をしているのかまず、ざっくりイメージからいきます。"こんにちは PHP & URL" → "こんにちは PHP & URL" のまま URL に入れる → 文字化け...
PHP

PHP Tips | 文字列処理:フォーマット – 数字のみ抽出

「数字のみ抽出」でやりたいことをまずイメージするここでやりたいのは、こういうことです。"合計: 1,234円(税込)" → "1234""TEL: 03-1234-5678" → "031234567...
PHP

PHP Tips | 文字列処理:フォーマット – 英数字のみ抽出

「英数字のみ抽出」でやりたいことをイメージするまず、ゴールのイメージからはっきりさせます。"ユーザーID: user-001" → "user001""商品コード ABC-123-JP" → "ABC...
PHP

PHP Tips | 文字列処理:フォーマット – 数値以外除去

「数値以外除去」でやりたいことをイメージするまず、ゴールのイメージからはっきりさせます。"1,234" → "1234""¥9,800円" → "9800""TEL: 03-1234-5678" → ...
PHP

PHP Tips | 文字列処理:フォーマット – 金額フォーマット(通貨記号付き)

「通貨記号付きの金額フォーマット」でやりたいことをイメージするまず、ゴールのイメージからいきます。1000 → "¥1,000"1234567 → "¥1,234,567"1234.5 → "¥1,2...
PHP

PHP Tips | 文字列処理:フォーマット – 金額フォーマット(カンマ)

「金額フォーマット(カンマ)」でやりたいことをイメージするまず、やりたいことはとてもシンプルです。"1000" → "1,000""1000000" → "1,000,000""0" → "0""12...
PHP

PHP Tips | 文字列処理:フォーマット – 郵便番号フォーマット

まず「郵便番号フォーマット」でやりたいことをはっきりさせる業務で郵便番号を扱うとき、だいたいこんな状況になります。ユーザー入力はバラバラです。"1234567""123-4567""123−4567"...
PHP

PHP Tips | 文字列処理:フォーマット – 電話番号フォーマット

まず「電話番号フォーマット」でやりたいことをはっきりさせる業務で電話番号を扱うとき、だいたいこんな問題が出てきます。ユーザーが「ハイフンあり」「ハイフンなし」「スペース入り」などバラバラに入力してくる...
PHP

PHP Tips | 文字列処理:検索・置換 – 単語境界のみ置換

「単語境界のみ置換」って何をしたいのかまず、やりたいことのイメージからいきます。「単語境界のみ置換」は、こういうニーズです。「cat という単語だけを dog に置き換えたい。でも、category ...
PHP

PHP Tips | 文字列処理:検索・置換 – 配列で一括置換

「配列で一括置換」でやりたいことをイメージするまず、やりたいことはこうです。1回の処理で、「複数の文字列」をまとめて置き換えたい。例えば、こんなケースです。元の文字列: "PHP7 と PHP8 を比...
PHP

PHP Tips | 文字列処理:検索・置換 – 大文字小文字を無視して置換

「大文字小文字を無視して置換」ってどういうこと?まず、やりたいことのイメージからいきます。元の文字列: "Hello WORLD, hello world.""hello" を "Hi" に置き換えた...
PHP

PHP Tips | 文字列処理:検索・置換 – 正規表現置換

正規表現置換って何をするもの?まずイメージからいきます。正規表現「マッチ」は、「この文字列がパターンに当てはまるか?」を調べるものでした。正規表現「置換」は、「パターンに当てはまる“部分”を、別の文字...
PHP

PHP Tips | 文字列処理:検索・置換 – 正規表現マッチ

正規表現マッチって何をするもの?まずイメージからいきます。「正規表現マッチ」は、文字列が「あるパターン」に当てはまるかどうかをチェックするための仕組みです。「パターン」というのがポイントで、単なる「部...
PHP

PHP Tips | 文字列処理:検索・置換 – すべて含むかチェック

「すべて含むかチェック」でやりたいことをイメージするここでやりたいのはこういう判定です。「この文章の中に、指定した複数キーワードが“全部”含まれているか?」例で見ると分かりやすいです。本文: "本日は...
PHP

PHP Tips | 文字列処理:検索・置換 – 複数キーワードのいずれかを含むか

「複数キーワードのいずれかを含むか」とは何をしたいのかやりたいことはこうです。「この文章の中に、NGワード一覧のどれか1つでも含まれていたらアウトにしたい」イメージしやすい例でいうと:本文: "本日は...
PHP

PHP Tips | 文字列処理:検索・置換 – 後方一致チェック

「後方一致チェック」でやりたいことをまずイメージする「後方一致」は、こういう判定のことです。文字列: "report.csv"キーワード: ".csv" → 最後が一致している(true)キーワード:...
スポンサーリンク