解释变量但忽略PHP中的转义序列HEREDOC

时间:2017-09-15 17:13:22

标签: php escaping heredoc nowdoc

我试图找出如何使用HEREDOC语法来解释变量但忽略反斜杠字符。或者使用NOWDOC语法来允许解释变量。我想要做的一个例子:

$title = "My title here";
$date = "Aug 12, 2017";

$latex_code = <<<LCODE
    \documentclass{article}

    \usepackage{graphicx}

    \pagestyle{head}
    \firstpageheader{
        $title
        $date
     }
LCODE;

file_put_contents("article.tex", $latex_code);

我想忽略所有斜杠,但解释变量$ title和$ date。有没有办法在不退出HEREDOC或NOWDOC区块的情况下这样做?

1 个答案:

答案 0 :(得分:3)

冒着误解预期输出的风险,我认为你可以逃避反斜杠。 (我假设您希望输出中包含单个反斜杠。)

$title = "My title here";
$date = "Aug 12, 2017";

$latex_code = <<<LCODE
    \\documentclass{article}

    \\usepackage{graphicx}

    \\pagestyle{head}
    \\firstpageheader{
        $title
        $date
     }
LCODE;

显然,如果你不这样做,其中一些(例如\f)将被escape sequences解释。