【PHP】simplexml_load_string関数でエラーメッセージ「parser error : Opening and ending tag mismatch」が表示されたときの原因と解決策をお伝えします

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、13年目エンジニアです。

この記事では、simplexml_load_string関数を実行したとき
PHPでsimplexml_load_string関数でエラーメッセージparser error : Opening and ending tag mismatchが表示されたときの原因と解決策

というエラーメッセージが表示されたときの原因とその解決策をお伝えします。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows11
PHPのバージョン 8.2.4
XAMPPのバージョン 8.2.4

PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。

エラーメッセージ「parser error : Opening and ending tag mismatch」が表示される原因

エラーメッセージ「parser error : Opening and ending tag mismatch」が表示される原因は、開始と終了のタグが不一致な箇所があることが原因です。

以下がエラーの再現プログラムです。

実行すると
PHPでsimplexml_load_string関数でエラーメッセージparser error : Opening and ending tag mismatchが表示されたときの原因と解決策
とエラーとなります。
xmlはヒアドキュメントで設定しています。
ヒアドキュメントとは、特殊な文字列を変数に設定するときに使用する機能です。
詳しくはこちらの記事をご参考ください。

エラーメッセージを読んでみると

と記載されています。
orangeの終了タグが「e」が抜けてしまっているため、エラーとなっていました。
開始と終了が不一致な箇所は、エラーメッセージを読みながら確認してください。

エラーメッセージ「parser error : Opening and ending tag mismatch」が表示させないようにする解決策

解決策は、xmlの開始と終了タグを一致させることです。
前章の再現プログラムだと、終了タグの「orang」を「orange」に直せば解決できます。
例えば先ほど書いたエラー再現プログラムは

↑のように、開始と終了のタグがすべて一致すればエラーは表示されません。

修正した再現プログラムを実行すると
PHPでsimplexml_load_string関数でエラーメッセージparser error : Opening and ending tag mismatchが表示されたときの原因と解決策
無事、正常に実行できました。

まとめ:エラーメッセージ「parser error : Opening and ending tag mismatch」が表示されたときはxml宣言の前を確認しよう!

以上がエラーメッセージ「parser error : Opening and ending tag mismatch」が表示されたときの原因と解決策でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました