$answra[$j] = '$qry['.$answers[$j].']';
eval("echo stripSlashes($answra[$j]); ");
Я пробовал разные методы, но я не могу получить eval (), чтобы вывести вывод. Я проследовал за соответствующим сообщением и получил это, но это не просто работало.
$str = "echo (stripSlashes($answra[$j])) ;" ;
eval("?> $str <?php ");
Любая более простая альтернатива?
(Я предполагаю, что у вас есть причины использовать eval, что в любом случае не рекомендуется, позвольте мне дать вам мое решение)
Хорошо, давайте это неправильно пример:
$string = "asdfg";
eval("echo stripSlashes($string); ");
это не будет работать, потому что используемая строка в
eval("echo stripSlashes($string); ");
результаты в
echo stripSlashes(asdfg);
ты можешь видеть asdfg
больше не настоящая строка
что вам нужно сделать, это экранировать переменную следующим образом:
eval("echo stripSlashes(\$string); ");
поэтому ваш переводчик будет знать, что не следует принимать во внимание переменную.
TL; DR:
этот обратный слеш должен сделать свое дело:
$answra[$j] = '$qry['.$answers[$j].']';
eval("echo stripSlashes(\$answra[$j]); ");
Используйте одинарные кавычки вместо двойных, чтобы не допустить раскрытия переменной, когда она включена в строку. Это будет расширено eval
когда он разбирает аргумент.
eval('echo stripSlashes($answra[$j]); ');