好吧,我可能會這樣做完全錯誤的,我可能是。但我希望能夠採取之間的HTML ...如下所示:在HTML中捕獲HTML爲一個字符串在PHP中
$str = ?>
... some HTML goes here ...
<?php ;
我完全擺脫我的搖桿想我可以做到這一點?我想不出用什麼辦法說出來,所以我可以在Google上搜索它,這就是爲什麼我在這裏...
好吧,我可能會這樣做完全錯誤的,我可能是。但我希望能夠採取之間的HTML ...如下所示:在HTML中捕獲HTML爲一個字符串在PHP中
$str = ?>
... some HTML goes here ...
<?php ;
我完全擺脫我的搖桿想我可以做到這一點?我想不出用什麼辦法說出來,所以我可以在Google上搜索它,這就是爲什麼我在這裏...
您可以使用output buffering:
ob_start();
?>
... some HTML goes here ...
<?php
echo 'php outputs are captured too';
$str = ob_get_contents();
ob_end_clean();
或者,如果它只是HTML的一點點(沒有在PHP代碼中),只是把它寫下來與string formats像定界符之一或nowdoc:
$str = <<<'NOWDOC'
... some HTML goes here
NOWDOC;
對於這種情況,PHP有一個多行,特別定界的字符串。
感謝您的回答!我嘗試過heredoc,但它並不喜歡因爲某種原因坐在裏面的PHP。它正確地識別了它,因爲它在方法未找到時拋出異常集在類的__get()中。 –
只是想補充phihag的答案。
它可以捕捉功能HTML,以及包括與匿名函數:
<?php $bob = function() { ?>
... some HTML here...
<?php }; ?>
後來輸出$鮑勃:
<?php $bob(); ?>
或捕捉的$輸出鮑勃別處輸出緩衝:
ob_start();
$bob();
$str = ob_get_contents();
ob_end_clean();
精美的作品!我正在使用MVC框架(symfony),並試圖遵守規則,這使事情變得更容易,當然。科莫多將以這種方式格式化HTML!謝謝!! –