[PHP-users 12383] Re: print()文での<> の扱い方について

Masayuki Iwamoto php-users@php.gr.jp
Mon, 30 Dec 2002 00:08:14 +0900 (JST)


いわもとと申します。

From: "Kumiko ENOMOTO" <yhe10046@nifty.com>
Subject: [PHP-users 12380] print()文での<> の扱い方について
Date: Sun, 29 Dec 2002 23:47:40 +0900

> #!/usr/local/bin/php4
> <?php
>   $me = "/(<input[^>";
>   print $me;
> ?>
> 
> 上記のようなプログラムを実行すると、
> ブラウザ上に表示される結果は、
> 
> /(
> 
> になってしまいます。
(中略)
> どうも、文字列の最後の">"が原因のようで、それがあると、
> 
> <input[^>
> 
> の部分が表示されなくなってしまうのですが、
> HTMLタグとして認識されてしまっているのでしょうか?

そういうことです。

> (<HTML></HTML>タグで囲っていないのですが・・・)

<html>エレメントの有無というよりも、
HTTPヘッダの問題でしょう。

以下のように、plainテキストであることを指示すれば
'<','>'を解釈しなくなります。

#!/usr/local/bin/php4
<?php
  header("Content-type: text/plain");
  $me = "/(<input[^>";
  print $me;
?>

岩本 雅幸(IWAMOTO, Masayuki) * Beauty, strength, youth
masa-i@netlaputa.ne.jp       *                are flowers but fading seen;
m-iwamot@nmit.jp             * Duty, faith, love are roots and ever green.
masa@is-assoc.co.jp          *                         (by Sir. Henry Lee)