这是可以接受的吗?我需要为每个 HTML 标记创建一个函数,并且需要定义它们以供以后在 Heredoc 字符串中使用。到目前为止,这是我的代码。
<?php
$tags = array (h1, h2, h3, b, i);
foreach ($tags as $key => $value)
{
eval ('function '.$value.' ($str) { return "<'.$value.'>$str</'.$value.'>"; }');
}
这基本上解决了与heredoc 中的函数有关的Heredoc 问题。一个简单的例子:
<<<example
<h1>This is ordinary HTML</h1>
{$h1('This is HTML via. PHP')}
example;
我把所有的代码都记下来了,所以如果它们包含任何错误,请不要感到惊讶。我还没有执行 eval 函数,但它看起来还不错。无论如何,我的问题是:这样可以吗,还是硬着头皮去做更好:
function h1 ($str) { return ...; }
function h2 ($str) { return ...; }
function h3 ($str) { return ...; }
function b ($str) { return ...; }
function i ($str) { return ...; }
等等 ..?