プロが教えるわが家の防犯対策術!

php5.3からヒアドキュメント内部で変数が展開されないNowdocが使えるようになりましたが、
これと同様のことをphp5.2でできないでしょうか。

下のコードで、ヒアドキュメント内の内容を触らずに(\$hogeなどとエスケープせずに)
変数$hogeを展開させない方法を教えてください。

$source = <<<HERE
<?php
$hoge = "hogehoge";
?>
HERE;
echo $source;

A 回答 (1件)

5.2以前にはそような機能はないですね。


たしょう強引ですが、以下のどちらかで処理できないことはないです

(1)シングルクォーテーションでくくる。
<?php
$source = '
<?php
$hoge = "hogehoge";
?>
';
echo nl2br(htmlspecialchars($source));
?>
ただし、当然文中にシングルクォーテーションはいれられません

(2)外部ファイルにわけてとりこむ
//hoge.txt
<?php
$hoge = "hogehoge";
?>

//hoge.pxp
$source = file_get_contents("hoge.txt");
echo nl2br(htmlspecialchars($source));
?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!