>  Q&A  >  본문

php怎么执行变量里的PHP模板代码?

$tpl = '

<p><?php echo $a ?></p>

';
$a = '我是变量a';

//怎么把$tpl变量解析成 

<p>我是变量a</p>


我自己Google到答案了 eval(' ?>'.$tpl.'<?php '); http://stackoverflow.com/questions/1309800/php-eval-that-evaluates-html-php

阿神阿神2748일 전1080

모든 응답(4)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-10 14:58:27

    直接保存为文件比如 filename.tpl, 然后引入就可以了,简单的模板实现:

    function view($filename, Array $data) {
        extract($data);
        include $filename.'.tpl';
    }
    

    회신하다
    0
  • PHPz

    PHPz2017-04-10 14:58:27

    不考虑安全问题的话,可以把 $tpl 的内容写入一个临时文件,再 require 进来

    <?php
    $tpl = '<p><?php echo $a ?></p>';
    $a = '我是变量a';
    
    file_put_contents('tmp.php', $tpl);
    ob_start();
    require 'tmp.php';
    $parsed_content = ob_get_clean();
    unlink('tmp.php');
    ?>
    

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:58:27

    包含,然后PHP 去解析

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 14:58:27

    php和html混编

    회신하다
    0
  • 취소회신하다