質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

6959閲覧

PHPは<?xml version="1.0" encoding="Shift_JIS"?>宣言のある文章では動作しないのでしょうか?

GiveAHand

総合スコア286

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/04/14 22:04

PHPを使って、簡単なファイルを読み込んで中身を表示させるプログラムを作成したのですが、元々のファイルの先頭にある、

xml

1<?xml version="1.0" encoding="Shift_JIS"?>

この1行で、

Parse error: syntax error, unexpected T_STRING in /home/greathelp-hp/yokkaichi-alcohol.net/public_html/test/index.html on line 1

このようなエラーになってしまいます。

xmlの記述を無くすと動作しますが、元々のhtmlファイルにあるので、無くしていいんかどうか悩んでいます。

xmlの記述とは一体何なのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

HTML5が普及する以前、HTML4を厳格なXMLの書式に修正したXHTMLという規格が策定されました。
XMLでは冒頭にXML宣言が必要とされており、

XML

1<?xml version="1.0" encoding="Shift_JIS"?>

これがその宣言です。

ご覧のとおり、 <? ?> は、PHPタグと完全に被ってしまっているので、PHPでパースエラーとなっています。

ですから、PHPでこれを出力する簡単な方法はその部分だけ

PHP

1<?php 2echo '<?xml version="1.0" encoding="Shift_JIS"?>'; 3?>

というようにecho文でストリングリテラルとして出力するのが最も簡単です。

簡単なファイルを読み込んで中身を表示させる

とのことですが、パースエラーが起きているということはincludeなどでPHPコードとして読み込んでいるということではないでしょうか?

file_get_contents()メソッドなどでファイル内容を読み込み、echo文などでその内容を出力すればパースエラーは起きないでしょう。

XHTMLは無駄に厳密すぎたためか、結局すぐに廃れました。SEOの観点からも「これからはXHTMLだ」と一大ブームが巻き起こり、あらゆるWEBサイトのコードがXHTMLで書き換えられ、あちこちで勉強会が開かれたのですが、HTML5の話が出始めるとものすごい勢いで終息していく様は滑稽ですらありました。

旧来のWEBサイトのコードなどに、

XHTML

1<br />

などと無駄な記述が見ることができますが、それが当時の名残です。

なお、このような無駄な記述は、現在のHTML5でも許容されています。

投稿2016/04/14 22:38

編集2016/04/14 22:45
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GiveAHand

2016/04/14 22:39

lucker様 大変わかり易い説明、ありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問