PHP - Preg_match_all - Регулярное выражение - помощь - PullRequest
0 голосов
/ 05 августа 2011

я работаю над этим вопросом со вчерашнего дня, у меня есть следующий код ..

 <?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 для получения этого кода (это всего лишь тестовая страница и ничего более) ... я не могу использовать include по серьезной причине, поэтому мне нужно использовать eval для кода внутри тега php нужно регулярное выражение, чтобы захватить все внутри тега ..

Ответы [ 3 ]

1 голос
/ 05 августа 2011

По моему мнению, вам не нужно извлекать код из тегов php.Вы можете просто проверить все содержимое файла:

eval(" ?>$file_content<?php ");
1 голос
/ 05 августа 2011

Вы все еще можете использовать include, который на самом деле очень похож на eval:

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

См. data:// Документы для получения подробной информации о данных: (»RFC 2397) обертка потока.

См. Также Ответ Каролис .

0 голосов
/ 05 августа 2011
preg_match("|<\?php(.*?)\?>|msU", $string, $match);
eval($match[1]);

это ваш ответ?

...