わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。

'nowdoc'を"heredoc"に変換する

phpのシングルクォートで囲まれた'nowdoc'を"heredoc"に変換します。

'nowdoc'の中にphpの変数'$message'などを記載しても変数の中身は展開されませんが、"heredoc"に変換する事で変数の中身を展開する事が可能になります。

"heredoc"への変換には、phpのeval()関数を利用しています。evel()関数はphpのコードを実行可能なためphpのマニュアルではおすすめされていません。 利用する際には絶対にユーザーから受け取ったデータを渡さないように十分に注意してください。

<?php

// メッセージ
$message = '変数の中身が変換できました。( ^_^ )/';

// 'nowdoc' <- (変換対象)
$nowdoc = <<< 'EOD'
{$message}
EOD;

// 変換前の'nowdoc'を表示
echo "変換前:".$nowdoc."<br/>";

// heredocに変換
eval( "¥$heredoc = ¥"$nowdoc¥";" );

// 変換結果の表示
echo "変換後:".$heredoc."<br/>";
?>

実行結果

変換前:{$message}
変換後:変数の中身が変換できました。( ^_^ )/






わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。