eval

vipTelnet

Постоялец
Регистрация
14 Янв 2013
Сообщения
143
Реакции
11
Всем привет.
Есть кусок кода который храниться в базе, примерно в таком виде
при попытке перед выводом обработать его функцией eval возникает ошибка
PHP:
$file = '<table id="table-places" class="table mtd">
        <tbody>
                <tr>
                        <td rowspan="5"><i class="fa fa-user"></i></td>
                        <td><span class="button-checkbox"> <button type="button" class="btn btn-sm" v-bind:class="isSelected(45)" v-on:click="select(45)" :disabled="isDisabled(45, <?PHP echo (in_array(33,$arrPlaces) ? true : false); ?>)">45 </button> <input type="checkbox" v-model="inputs" name="places[]" value="45" class="hidden"> </span>
                        </td>
        </tbody>
</table>';
$arrPlaces = [31,32,33,34,35];
echo eval($file);

Выводит ошибку
Parse error: syntax error, unexpected '<', expecting end of file in \replace.php(11) : eval()'d code on line 1

А мне бы хотелось что вместо блока
<?PHP echo (in_array(33,$arrPlaces) ? true : false); ?>
просто выводился результат работы функции in_array
 
eval исполняет только php код
 
Последнее редактирование:
Пишу вот так
PHP:
$file = 'echo \'<table id="table-places" class="table mtd">
    <tbody>
        <tr>
            <td rowspan="5"><i class="fa fa-user"></i></td>
            <td><span class="button-checkbox"> <button type="button" class="btn btn-sm" v-bind:class="isSelected(45)" v-on:click="select(45)" :disabled="isDisabled(45,'. (in_array(33,$arrPlaces) ? true : false); .')">45 </button> <input type="checkbox" v-model="inputs" name="places[]" value="45" class="hidden"> </span> 
            </td>
    </tbody>
</table>\'';
$arrPlaces = [31,32,33,34,35];
echo eval($file);
Получаю ошибку
Parse error: syntax error, unexpected '.', expecting end of file in \replace.php on line 6
 
Пишу вот так
PHP:
$file = 'echo \'<table id="table-places" class="table mtd">
    <tbody>
        <tr>
            <td rowspan="5"><i class="fa fa-user"></i></td>
            <td><span class="button-checkbox"> <button type="button" class="btn btn-sm" v-bind:class="isSelected(45)" v-on:click="select(45)" :disabled="isDisabled(45,'. (in_array(33,$arrPlaces) ? true : false); .')">45 </button> <input type="checkbox" v-model="inputs" name="places[]" value="45" class="hidden"> </span>
            </td>
    </tbody>
</table>\'';
$arrPlaces = [31,32,33,34,35];
echo eval($file);
Получаю ошибку
Parse error: syntax error, unexpected '.', expecting end of file in \replace.php on line 6
Это не php код, это html с php кодом.
PHP:
eval("?>" . $file . "<?php");
 
d(45,'. (in_array(33,$arrPlaces) ? true : false); .')

точка с запятой тут лишние
 
Use this
eval (' ?' . '>' . $file. '<' . '?php ')
 
Назад
Сверху