HTML PHP değişkenin içine (HTML dışında PHP kodu)

6 Cevap php

Ben php yeni ve ben böyle bir şey olabilir eğer merak:

<?php
 ...
 magicFunctionStart();
?>

<html>
   <head>...</head>
   <body>...</body>
</html>

<?php
 $variable = magicFunctionEnd();
 ...
?>

Ya şimdi kullanmak zorunda olduğu

<?php
 ...
 $variable = "<html><head>...</head><body>...</body></html>"
?>

Rahatsız edici ve okunabilir değil ki.

Teşekkürler.

6 Cevap

Eğer "çıktı tamponlama" denediniz mi?

<?php
 ...
 ob_start();
?>

<html>
   <head>...</head>
   <body>...<?php echo $another_variable ?></body>
</html>

<?php
 $variable = ob_get_clean();
 ...
?>

Sana heredoc sözdizimi istiyorum düşünüyorum.

Örneğin:

$var = <<<HTML
<html>
   <head>
random crap here
</html>
HTML;

Ben size gerçekleştirmek için çalışıyoruz ne gerçekten emin değilim, ama böyle bir şey heredoc syntax sizin için faydalı olabileceğini düşünüyorum:

<?
$variable = <<< MYSTRING

<html>
   <head>...</head>
   <body>...</body>
</html>

MYSTRING;

HTML şablonları yapmaya çalıştığınız Ancak ben çok Smarty, Dwoo veya Savant gibi, gerçek bir çiftleşmiş motoru almak için tavsiye ederim.

Tamam ben basit bir örnekle açıklayacağım:

Eğer index.php (ana site) ve exemplu.php (değişken tanımları) var. Ben daha açık olması için google adsense kodunu kullanacak

i Poz kod yasak olduğumu bakın: (

http://www.xtrimdesign.ro/html-php-var.txt

okuma için teşekkür ederim

alkış, Xtrim TASARIM EKİBİ

Tamam ne yapmak istediğiniz bir moda mümkündür.

Sadece bir php değişkene HTML bloğunu atamak ya da bir işlevi ile bunu yapamazsınız. Ancak istediğiniz sonucu elde etmek için bir kaç yolu var.

  1. Bir çiftleşmiş motoru kullanımı (ben ise zaten değer olarak bunu öneririm) araştırmak. I smarty kullanmak, ama diğerleri var
  2. İkinci bir çıkış tamponu kullanmaktır.

One of the problems you have is that any HTML you have in your page is immediately sent to the client which means it cant be used as a variable in php. However if you use the functions ob_start and ob_end_fush you can achive what you want.

örneğin

<?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();

?>

Bu php docs output buffers kadar okuyabilirsiniz yardımcı olur umarım.

Onun farkında GERÇEKTEN ÇILGIN ama olması bunu yaparsanız:

<?php echo ""; ?>  

Bunu alacak:

<html><head></head><body></body></html>  

Deli çevirmek çalışırken sakin, onun sadece php tutun.