【问题标题】:Concatenating Content between Heredoc Tags在 Heredoc 标签之间连接内容
【发布时间】:2012-12-21 09:40:32
【问题描述】:

我正在将一些格式化的 html 文本转换为 PDF 文件,在此过程中,我必须在文档中放置一个表格。为了将表格正确放入PDF,我必须使用heredoc标签而不是常规引用(通过一些实验得出这个结论)。我想知道的是我是否可以从 POST 调用中获取一些内容并将其放在 heredoc 标记之间:

$table = $_POST['table'];
$html = <<<EOD . '$table' . EOD;

或者,类似的东西。我还没有遇到解决方案,并且想知道这是否可能。我曾尝试将表变量直接传递给方法,但这是徒劳的。但是,如果与heredoc 标签一起传递,它确实有效。

【问题讨论】:

  • 嗯,heredoc 语法被破坏为一个开始,开始标签必须跟在行尾,结束必须在自己行的开头。

标签: php html tcpdf heredoc


【解决方案1】:

您想为此使用Encapsulated Heredoc。该页面上的示例#5。它允许您将 heredoc 放在引号中并使用花括号来利用您的变量。

PHP 示例

$hey = 'Test 1 2 3';

$html = <<<"TEST"
Test me: {$hey}
TEST;

echo $html;

退货

Test me: Test 1 2 3

【讨论】:

  • 我试过这个,我猜这个问题与TCPDF的PDF渲染引擎有关,因为它输出的是一个未格式化的表格。谢谢
  • 这很不幸。祝你好运。
  • 去掉“TEST”中的双引号
【解决方案2】:

是的,就像 PHP 文档说的那样:

$name = 'Davis';

echo <<<EOT
My name is "$name". I am printing some $_POST['table'].
Now, I am printing some {$foo->bar[1]} too!
This should print a capital 'A': \x41
EOT;

您必须确保您的文本介于您的起始行和结束行之间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-10
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 2023-01-11
    相关资源
    最近更新 更多