【PHP8.x】getLineNoメソッドの使い方
getLineNoメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getLineNoメソッドは、XMLやHTMLドキュメント内で、特定の処理命令(Processing Instruction)が記述されている行番号を取得するために実行するメソッドです。処理命令とは、例えば<?xml-stylesheet type="text/css" href="style.css"?>のように、ドキュメントの処理方法をアプリケーションに指示するためのノードを指します。このメソッドを利用することで、構文解析中にエラーが発生した箇所を特定したり、ドキュメントの構造を分析したりする際に、対象となる処理命令がソースファイルの何行目に存在するかを正確に知ることができます。この機能を有効にするためには、DOMDocument::load()やDOMDocument::loadHTML()などのメソッドでドキュメントを読み込む際に、オプションとしてLIBXML_LINE_NUMBERS定数を指定しておく必要があります。このオプションが指定されていない場合、メソッドは行番号を正しく返せません。戻り値として、成功した場合は行番号を整数で返し、ノードがファイルから解析されたものではないなど、行番号が利用できない状況ではfalseを返します。
構文(syntax)
1<?php 2 3$xml = <<<XML 4<?xml version="1.0"?> 5<?php-pi process this?> 6<root /> 7XML; 8 9$doc = new DOMDocument(); 10$doc->loadXML($xml); 11 12$processingInstruction = $doc->childNodes[1]; 13 14$lineNumber = $processingInstruction->getLineNo(); 15 16echo $lineNumber; 17 18?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
このメソッドは、XMLまたはHTMLドキュメントにおける処理命令ノードの行番号を整数で返します。