[PHP-users 8839] パースの際の改行の扱い

HAYAKAWA Hiroshi php-users@php.gr.jp
Tue, 23 Jul 2002 11:33:31 +0900


早川@名古屋です。

細かなことではあるのですが、
PHP(4.2.1 on VineLinux.2.5)でのパースに関して
ちょっと気づいたことがあります。


<html>
    <head>
        <title>Title</title>
    </head>
    <body>
        AAA<br>
        <?php print("BBB"); ?><br>
        <?php print("CCC"); ?>
        DDD<br>
    </body>
<html>


上記のようなソースがあったとき、
ブラウザで「ソースを表示」すると、


<html>
    <head>
        <title>Title</title>
    </head>
    <body>
        AAA<br>
        BBB<br>
        CCC        DDD<br>
    </body>
<html>


と表示されます(Mac版IE5.1およびNetscape4.7で確認)。
(ブラウザでの表示ではなくソースの話です)

問題は「CCC」を表示する行ですが、
PHPのタグの後には改行コード「\n」があるはずなのに、
PHPのタグの後にHTMLのタグが無い場合には
改行コード「\n」が無視されて次の行が続いてしまっています。

そういう実装になっているんだとは思いますが、
これには何かわけがあるのでしょうか。
事情を知らない者としては、
以下のようになって欲しいかなと思ったりします


<html>
    <head>
        <title>Title</title>
    </head>
    <body>
        AAA<br>
        BBB<br>
        CCC
        DDD<br>
    </body>
<html>


一応気づきまで。



-----
With your dreaming, with your smile.
Hayakawa, Hiroshi <hayakawa@sam.hi-ho.ne.jp>
Nagoya,Aichi,JAPAN ☆彡