【PHP8.x】inputEncodingプロパティの使い方

inputEncodingプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

inputEncodingプロパティは、HTMLドキュメントの入力エンコーディングを保持するプロパティです。このプロパティは、PHPのDOM拡張機能において、HTMLドキュメントをオブジェクトとして扱うためのDom\HTMLDocumentクラスに属しています。Dom\HTMLDocumentオブジェクトがウェブページやHTMLファイルから読み込まれる際に、そのドキュメントがどのような文字エンコーディング(例えばUTF-8やShift_JISなど)で記述されているかの情報がこのプロパティに自動的に設定されます。

文字エンコーディングとは、コンピュータが文字を認識し、表示するために使われる符号化方式のことであり、これが正しくないと「文字化け」と呼ばれる現象が発生してしまいます。inputEncodingプロパティは、ロードされたHTMLドキュメントがどのエンコーディングを使用しているかを開発者が確認するための手段を提供します。

このプロパティは読み取り専用であり、開発者が直接その値を変更することはできません。ドキュメントがパーサーによって解析されるときに、HTMLのメタタグやHTTPヘッダーなどから得られる情報に基づいて、最も適切と思われるエンコーディングが自動的に検出され、設定されます。

主に、取得したHTMLドキュメントの内容を別のシステムで処理する際や、特定のエンコーディングを前提とする操作を行う前に、ドキュメントの実際のエンコーディングを確認するために利用されます。例えば、データベースに保存する前に、ドキュメントの文字エンコーディングがデータベースのそれと一致するかどうかを検証するといった用途が考えられます。これにより、文字コードの不一致による予期せぬ問題を未然に防ぎ、アプリケーションの堅牢性を高めることができます。

構文(syntax)

1<?php
2
3// Dom\HTMLDocument クラスのインスタンスを生成
4$document = new Dom\HTMLDocument();
5
6// HTMLコンテンツを読み込む(例: UTF-8エンコーディングのHTML)
7$document->loadHTML('<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body>PHP</body></html>');
8
9// inputEncoding プロパティにアクセスし、読み込まれた文書のエンコーディングを取得
10$inputEncoding = $document->inputEncoding;
11
12?>

引数(parameters)

戻り値(return)

string

HTMLドキュメントのエンコーディングを示す文字列を返します。

【PHP8.x】inputEncodingプロパティの使い方 | いっしー@Webエンジニア