解释变量,但忽略PHP中的转义序列HEREDOC
问题描述:
我想弄清楚如何使用HEREDOC语法来解释变量,但忽略反斜杠字符。或者使用NOWDOC语法来允许解释变量。什么我试图做一个例子:解释变量,但忽略PHP中的转义序列HEREDOC
$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和$日期。有没有办法做到这一点,而不退出HEREDOC或NOWDOC块?
答
由于误解了预期输出的风险,我认为你可以避开反斜杠。 (我假设你想在输出中包含的单反斜线。)
$title = "My title here";
$date = "Aug 12, 2017";
$latex_code = <<<LCODE
\\documentclass{article}
\\usepackage{graphicx}
\\pagestyle{head}
\\firstpageheader{
$title
$date
}
LCODE;
显然,如果你不这样做,有些人(如\f
)将是escape sequences会解释。
你能逃脱吗?实际上,“忽略”反斜杠是什么意思?从字面上解释它,还是根本不包含它? –
我不确定花括号内的2个变量将被翻译。建议使用自己的一对大括号翻译的变量.. \ firstpageheader {$ title} {$ date} LCODE; –
@ Don'tPanic我试图完全按照原样将这些全部导出到文本文件,但是解释了变量。我更新了我的问题,用file_put_contents行来表示这一点。 – kojow7