在html中使用很少的PHP片段,比如Wordpress,你可以在PHP回声中使用PHP吗?
示例:
<?php
echo "<?php the_author_meta('description'); ?>";
?>
尽管不必要,甚至可以做到吗?如果没有,PHP的一个方面似乎仍然让我感到困惑的是如何在输出HTML时结束并重新启动PHP。
例如,克里斯在这里回答:How can I echo HTML in PHP? - 我非常希望在他的例子结尾处加上?>
,但这会导致错误。有人可以向我指出一些关于如何在与HTML混合时使用PHP启动/停止的全面信息的方向,HTML本身可能会使用PHP代码段。
答案 0 :(得分:8)
尝试:
<?php
echo htmlspecialchars("<?php the_author_meta('description'); ?>");
?>
答案 1 :(得分:7)
您不能让PHP回显更多要评估的PHP代码,因为PHP会在一次传递中解释您的代码。如果您有<?php echo '<?php echo "hello"; ?>'; ?>
,那么您将从字面上获取文本<?php echo "hello"; ?>
作为输出,并且解释器不会触及它。
然而,您可以随意跳入和跳出PHP:
<?php
echo "I am going to be interpreted by PHP.";
?>
I am not interpreted by PHP.
<?php
echo "But I am again.";
?>
如果您认为需要输出本身重新评估的PHP代码,总会有更好的方法来完成此任务。如果你举一个你想要完成的具体例子(现实世界的案例),那么这里的人们很乐意提供帮助。
答案 2 :(得分:3)
关于:&#34; PHP的一个方面似乎仍然让我感到困惑的是如何在输出HTML时结束并重新启动PHP。&#34;
<?php
// Do some wicked cool stuff in PHP here.
?>
<html>
<body>
Output some html here
<?php
//More awesome PHP stuff here.
?>
Back to html
</body>
</html>
<?php
// You can do any final stuff you want to do here.
?>
或许你的意思是这样的:
<table>
<?php
foreach($person as $p){
echo "<tr>";
echo "<td>".$p['name']."</td>";
echo "</tr>";
}
?>
</table>
答案 3 :(得分:1)
是的,但这是一个可怕的想法。在这种情况下,您应该只编写该函数。如果要将多个匹配项“链接”在一起,请创建自己的功能(例如function describe() {the_author_meta('description');}
)
通常,您需要意识到<?php
和下一个?>
之间的任何内容都将被视为PHP块并由引擎解析。这些块中的任何内容都保留原样。如果您遇到具体问题,请具体询问一下;)