2013-10-01 5 views
3

У меня есть переменная, включая HTML структуру, как следующие:Как включить php включить statment в переменную php?

$txt = '<table> 
      <tr> 
       <td> 
       </td> 
      </tr> 
     </table>'; 

Я хочу написать следующее заявление внутри переменной:

include_once('./folder/file.php'); 

Я стараюсь писать как следующий, но это не удалось:

$txt = '<table> 
       <tr> 
        <td>'; 
        include_once('./folder/file.php'); 
        $txt.='</td> 
       </tr> 
      </table>'; 

и я стараюсь это так, а также не работает:

$txt = '<table> 
        <tr> 
         <td> 
         {include_once('./folder/file.php');} 
        </td> 
        </tr> 
       </table>'; 

Как я могу это сделать? Я сожалею, что не очень эксперт по смешиванию php и html, поэтому небольшая помощь будет оценена ??

+0

'include_once', вероятно, не правильно в этом случае, так как вы делать шаблоны. Используйте вариант non-once 'include'. – Halcyon

ответ

7

Использование выходного буфера функции:

ob_start(); 
include('./folder/file.php'); 
$include = ob_get_clean(); 

$txt = '<table> 
      <tr> 
       <td>' . $include . '</td> 
      </tr> 
     </table>'; 

См http://php.net/ob

Выходной буфер собирает все, что вы не хотите отправить в браузер, пока вы не пустой, удалить или завершить его.

http://www.php.net/manual/en/function.ob-get-clean.php

+0

не работает должным образом, это видно из таблицы – Basel

+0

вы можете указать ссылку или что-то в этом роде, вы можете использовать ее неправильно или смешать элементы таблицы html неправильно – DanFromGermany

0

Вы должны сделать это так я считаю, что это конкатенации вызов:

$table_content = include_once('./folder/file.php'); 
$txt = '<table> 
       <tr> 
        <td> 
         ' . $table_content . ' 
        </td> 
       </tr> 
     </table>'; 

или ...

$txt = '<table> 
       <tr> 
        <td> 
         ' . include_once('./folder/file.php') . ' 
        </td> 
       </tr> 
     </table>'; 

Проще говоря, когда я когда-либо нужно повторите текст, за которым следует переменная, как я это делаю:

$color = brown 
$state = lazy 

echo "The quick" . $color . "fox jumped over the" . $state . "dog"; 

Это дало бы результатам:

The quick brown fox jumped over the lazy dog 

Дополнительные сведения см: Concatenate Strings

+1

'include' возвращает false или 1, а не содержимое файла – Ben

+1

no, my плохо, вы * можете * фактически вернуть что-то из 'include' .. интересно (http://www.php.net/manual/en/function.include.php) – Ben

+0

Я только что изменил его на другой способ. – AaronHatton

0

Попробуйте

$txt = '<table> 
      <tr> 
       <td>'; 
$txt.=include_once('./folder/file.php'); 
$txt.='</td> 
      </tr> 
     </table>'; 
print_r($txt); 
Смежные вопросы