XHTMLにPHPを埋め込む場合、XML宣言があるとPHPのパーサーがエラーを吐いてくれてしまう。

たとえば、こんな内容のPHPファイルを作成してブラウザからアクセスしてやると、
Parse error: syntax error, unexpected T_STRING in /www/htdocs/xhtml.php on line 4
の様にエラーとなってしまう。

<?php     $outStr = "hoge"; ?> <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xml:lang="ja" lang="ja" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>XHTML PHP test</title> </head> <body> <p> <?php     echo $outStr; ?> </p> </body> </html>

これは、別ファイルにして、includeしたところでムダである。

出力にXHTMLを使用したければ、XML宣言はechoなりprintなりで出力してやらねばならない。