-
ID:5o0ngg さんの質問

phpで関数定義内にhtmlを直書きできるのは有名ですが、引数に直書きできないでしょうか。
ヒアドキュメントでもいいんですけど、
シンタックスハイライトが欲しいです(´・ω・`)

(例)
print(?>
<div class=""></div>
<?php);

>>> syntax error, unexpected ’?>’, expecting ’)’

みんなの回答 3 件

ID:46eRsP さんの回答

文字列として渡しちゃだめなの?

ID:hwid.b

$tmp=<<<EOL
?>
Html
<?php
EOL;

ってできないんだっけ?

ID:5o0ngg

だめでした。。
?><?php
まで文字列として扱ってくれちゃいます

ID:dgyL4C さんの回答

バッファ使ったらどうかな?
<$php
ob_start();
?>
ここにHTML
<?php
$html = ob_get_flush();

ID:DLaD5z

これ引数にどうやっていれんの

ID:dgyL4C

えっ……
普通に$htmlを引数に使うだけなんだけど??

<$php
//ここにもろもろの処理
ob_start();
?>
ここにHTML
<?php
$html = ob_get_flush();
print($html);
?>

これでは満足できない、と?
引数に直接入って、かつシンタックスハイライトする方法は多分ないかと
上記でも意味は同じだし、直接入れるよりソースの見通しも良い気がするのだけど……

ID:dgyL4C

つか、例でprintを使ってるからprintで書いたけど、printでこんな書き方する必要はないはず
そもそもprintは関数じゃないし

ID:J7V8xm さんの回答

phpってなんておバカ...

最終更新日:2014-10-06 (3,256 views)

関連するトピックス

ページ上部に戻る