PHP - Preg_match_all - 正则表达式 - 帮助

时间:2011-08-05 12:44:52

标签: php tags preg-match-all

我从昨天开始就一直在研究这个问题,我有以下代码..

 <?php
    /* 
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    echo "evalia:".$param[1]."<br>";
    $i=0;
    while($i<100)
      $i++;
    ?>
    cvbcbcbcvb
    <?php
    echo "asdsad";
    for($i=0;$i<100;$i++)
    {
       echo $i;
    }
    ?>

我需要得到标签内的内容....任何人都可以帮助我吗?

好吧,我解释自己真的很糟糕...... 在另一个页面我使用file_get_contents来获取此代码(这只是一个测试页面而已)...我不能使用包含严重的原因所以我需要在php标签内的代码上使用eval所以我真的需要是正则表达式来抓取标签内的所有东西..

3 个答案:

答案 0 :(得分:1)

我认为你不需要从php标签中提取代码。您可以只评估文件的所有内容:

eval(" ?>$file_content<?php ");

答案 1 :(得分:1)

您仍然可以使用实际上非常类似于eval的include:

include('data:text/plain;base64,'.base64_encode($file_content));

有关数据的详细信息,请参阅data://Docs :(»RFC 2397)流包装器。

另见Karolis answer

答案 2 :(得分:0)

preg_match("|<\?php(.*?)\?>|msU", $string, $match);
eval($match[1]);

是你的答案吗?