【问题标题】:Capture content after function is called调用函数后捕获内容
【发布时间】:2013-04-16 16:35:20
【问题描述】:

是否有可能(在 PHP 中)调用一个触发某个捕获过程的函数,以便捕获该函数之后的所有 HTML 输出,直到一个结束函数?例如,一些分析应用程序执行与此非常相似的过程,并且使用诸如ob_start() 之类的函数,这对我来说似乎是合乎逻辑的。 概念示例:

<?php beginSection("hello"); ?>
<b>Hi there!</b>
<?php endSecton("hello"); ?>
<!-- Section "hello" now contains "<b>Hi there!</b>" -->

【问题讨论】:

  • 嗯,是的,您可以使用 ob_start 做到这一点,所以如果您已经知道 - 问题是什么?
  • @Niels 我不知道ob_start 的实际功能是什么。当时,我认为它所做的只是捕获包含文件的输出。

标签: php html profiling


【解决方案1】:

输出缓冲的工作方式不允许您以命名方式执行此操作 - ob_start 和它的朋友 stack 在彼此上,并按顺序展开。你可以这样实现它:

<?php ob_start(); ?>
<b>Hi there!</b>
<?php $sections['hello'] = ob_end_clean(); ?>

这会回答你的问题。

【讨论】:

  • 谢谢!我不知道 ob_* 函数适用于原始 HTML 以及包含的文件,因为我不知道该函数是如何工作的。
猜你喜欢
  • 2019-04-26
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
  • 2014-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多