Je suis nouveau sur php et je me demande si je peux avoir quelque chose comme ça:
<?php
...
magicFunctionStart();
?>
<html>
<head>...</head>
<body>...</body>
</html>
<?php
$variable = magicFunctionEnd();
...
?>
Ce que je dois utiliser maintenant est
<?php
...
$variable = "<html><head>...</head><body>...</body></html>"
?>
Ce qui est ennuyeux et illisible.
Avez-vous essayé de "tamponner la sortie"?
<?php
...
ob_start();
?>
<html>
<head>...</head>
<body>...<?php echo $another_variable ?></body>
</html>
<?php
$variable = ob_get_clean();
...
?>
Je pense que vous voulez heredoc syntax.
Par exemple:
$var = <<<HTML
<html>
<head>
random crap here
</html>
HTML;
Je ne suis pas vraiment sûr de ce que vous essayez d'accomplir, mais je pense que quelque chose comme la syntaxe heredoc pourrait vous être utile:
<?
$variable = <<< MYSTRING
<html>
<head>...</head>
<body>...</body>
</html>
MYSTRING;
Cependant, si vous essayez de créer des modèles HTML, je vous recommande fortement de vous procurer un véritable moteur de templates, tel que Smarty , Dwoo ou Savant .
Ok, ce que vous voulez faire est possible d'une manière.
Vous ne pouvez pas simplement assigner un bloc HTML à une variable php ou le faire avec une fonction. Cependant, il y a plusieurs façons d'obtenir le résultat souhaité.
L’un des problèmes que vous avez est que tout code HTML que vous avez dans votre page est immédiatement envoyé au client, ce qui signifie qu’il ne peut pas être utilisé comme variable dans php. Cependant, si vous utilisez les fonctions ob_start et ob_end_fush, vous pouvez obtenir ce que vous voulez.
par exemple
<?php
somesetupcode();
ob_start(); ?>
<html>
<body>
html text
</body>
</html>
<?php
//This will assign everything that has been output since call to ob_start to your variable.
$myHTML = ob_get_contents() ;
ob_end_flush();
?>
J'espère que cela vous aidera à lire sur tampons de sortie dans les documents php.
Je recommande toujours àD'&EACUTE;VITERles fonctions de tampon (commeob_start
ou etc.) chaque fois que vous avez une alternative (car elles peuvent parfois entrer en conflit avec des éléments du même système).
function Show_My_Html(){ ?>
<html>
<head></head>
<body>
...
</body>
</html>
<?php
}
//output anywhere
Show_My_Html();
$html_content = '
<p class="yourcssclass">Your HTML Code inside apostraphes</p>
';
echo $html_content;