PHP: HTML PHP Breaking ancak değer yerine sayfada baskı olarak geri?

6 Cevap php

PHP ile HTML kodu bir çok üreten, ama ben hemen göstermek, bir değişkene değil saklamak gerekir. Ama çok kodumu dev bir dize değil PHP kırmaya muktedir istiyorum.

(ama gerçek kod çok daha büyük olacaktır), örneğin:

<?php
$content = '<div>
    <span>text</span>
    <a href="#">link</a>
</div>';
?>

Ben böyle bir şey yapmak istiyorum:

<?php
$content = 
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
;
?>

Ama bu sadece belgeye yazdıracak bir değer olarak html dönmeyecek biliyorum.

Ama bu tho yapmak için bir yolu var mı?

Teşekkürler!

6 Cevap

Sen kullanabilirsiniz output buffering:

<?php
ob_start();
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
$content = ob_get_clean();
?>

Ya da biraz daha farklı bir yöntemdir HEREDOC syntax,

<?php
$content = <<<EOT
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
EOT;
?>

Bu deneyin:

<?php
$var = <<<EOD
my long string
EOD;
echo $var; 
?>

(:) Edit yapılabilir, ama kimse benden daha hızlı düzenlemek etti)

Benim düşünceme göre, bu tür Smarty gibi bir şablon motoru içine bakmak gerekir. Bu PHP dosyasına HTML hardcoding dışında çirkinlik bazı atmanıza yardımcı olabilir, ve kod daha yönetilebilir hale yardımcı olabilir.

Sen bir html dosyası html depolamak ve bir değişken içine bu dosyayı okuyabilir.

Hala teknik bir dize olsa da, eğlenceli bir okuma olduğu PHP'nin yorumlu metin üzerinde belgeleri bulabilirsiniz:

heredoc syntax

$content = <<<EOT

<div>
    <span>text</span>
    <a href="#">link</a>
</div>

EOT;

heredoc sözdizimi kullanın.