Включить PHP-код в эхо от случайного текста - PullRequest
1 голос
/ 18 февраля 2011

Я хочу отображать php-код в произвольном порядке, и поэтому у меня есть

<?php

// load the file that contain thecode
$adfile = "code.txt";
$ads = array();

// one line per code
$fh = fopen($adfile, "r");
while(!feof($fh)) {

  $line = fgets($fh, 10240);
  $line = trim($line);
  if($line != "") {
    $ads[] = $line;
  }
}

// randomly pick an code
$num = count($ads);
$idx = rand(0, $num-1);

echo $ads[$idx];
?>

В code.txt есть строки вроде

<?php print insert_proplayer( array( "width" => "600", "height" => "400" ), "http://www.youtube.com/watch?v=xnPCpCVepCg"); ?>

Proplayer - это плагин для WordPress, который отображаетвидео.Коды в code.txt работают хорошо, но не тогда, когда я использую строку выбора из code.txt.Вместо полной строки php я получаю:

"width" => "600", "height" => "400" ), "http://www.youtube.com/watch?v=xnPCpCVepCg"); ?>

Как сделать так, чтобы эхо показывало код php, а не текстовую версию кода php?

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Попробуйте использовать htmlentities() для выхода из кода php. Что-то вроде:

$string = '<?php print insert_proplayer( array( "width" => "600", "height" => "400" ), "http://www.youtube.com/watch?v=xnPCpCVepCg"); ?>';
echo htmlentities($string);
0 голосов
/ 18 февраля 2011

Используйте eval: http://php.net/eval.

Edit:

Или еще лучше, использование включает в себя. Это могут быть операторы if-else, оператор switch, массив или что-либо, что можно выбрать из выбора. Пример code.php:

<?php
    if ($i == 1)  // use better variable name
        print 'blah blah blah';
    else if ($i == 2)
        print 'blah blah blah';
    else if ($i == 3)
        print 'blah blah blah';
    // ...
    else if ($i == $max)
        print 'blah blah blah 4';
?>

Страница вызова:

<?php
    $max = 5;  // set max to however many statements there are
    $i = rand(1, $max);
    include('code.php');
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...