可以做到這一點 - 打開一個PHP標籤的變量,然後關閉PHP標籤,但保持變量打開,所以下面的一切都變成了變量的值?或者PHP可變大小/字符有限制嗎?PHP - 可以將一長串HTML包裝在PHP變量中嗎?
<?php $content = " ?>
a bunch of content goes here <br />
with lots of HTML tags and JS scripts
<?php "; ?>
可以做到這一點 - 打開一個PHP標籤的變量,然後關閉PHP標籤,但保持變量打開,所以下面的一切都變成了變量的值?或者PHP可變大小/字符有限制嗎?PHP - 可以將一長串HTML包裝在PHP變量中嗎?
<?php $content = " ?>
a bunch of content goes here <br />
with lots of HTML tags and JS scripts
<?php "; ?>
你的代碼要做的是在變量$content
中存儲一個以?>
開始並以<?php
結尾的字符串。這可能不是你想要做的?如果你稍後回顯這樣的字符串,你很可能會因爲這些php標籤而出錯。
正如在其他答案中提到的,heredoc將是一個解決方案,但一般來說,你應該儘量避免這種情況,你必須在變量中存儲非常長的html序列。而是使用視圖文件並在其中注入一些動態內容或使用某種包含。
所以,這取決於你真正想做的事,你的選擇是:使用視圖
$content = "<html>markup here</html>";
哦,感謝apprectating有點] – 2010-09-16 13:05:25
$content = <<< 'HTML'
a bunch of content goes here <br />
with lots of HTML tags and JS scripts
HTML;
或output buffering,例如
<?php ob_start(); ?>
foo
<?php
$var = ob_get_clean();
var_dump($var); // will contain foo and surrounding whitespace
沒有,但你也許可以做一些它與heredoc
$content = <<< END
some content here<br/>
<script type="text/javascript">
alert('hi');
</script>
END;
NO是正確的答案。 – 2010-09-16 12:56:13
雖然php.net上的例子和我見過的一些語法檢查器指出了這一點,但PHP不介意在那裏有空格,但可能希望刪除第一行的'<<<'和'END'之間的空格 – 2016-01-15 16:37:08
@MichaelThompson: https://3v4l.org/k414A – Fanis 2016-02-04 16:29:00
嘗試:
<?php ob_start(); ?>
.... html
<?
$content = ob_get_clean();
?>
的細節
這有效,但在大多數情況下,最好使用HEREDOC方法。 – Spudley 2010-09-16 12:43:55
是的,你可以做到這一點見http://pl.php.net/manual/en/book.outcontrol.php。
雙引號內的結束標記爲:" ?>"
將不會被專門處理。它們只是字符串內容。
對PHP可變大小/字符有限制嗎?
不可以。您可以儘可能多地填充變量,直到內存已滿。
$content = 'large amount of text';
或
$content = 'text';
$content .= 'other text';
$content .= 'end text';
1和3可以工作。我想避免2.你能指點我一個關於使用視圖的好教程嗎? – 2010-09-16 13:07:17
如果你開始使用MVC,CodeIgniter是一個非常好的和輕量級的框架。 – DMin 2010-09-16 14:18:12