Проблема двойных кавычек в eval PHP - PullRequest
0 голосов
/ 04 октября 2018

Вот мой код, и я получаю такую ​​ошибку:

Ошибка разбора: синтаксическая ошибка, неожиданная '' ';'(T_ENCAPSED_AND_WHITESPACE) в C: \ wamp64 \ www \ PHPQC \ php \ base \ meditabmssql \ med_page.php (1369): код eval () в строке 1.

код:

<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string wi"th my $name in it.';
eval("\$str = \"$str\";");
echo $str;
?>

вот ссылка (http://php.net/manual/en/function.eval.php)

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Вам нужно экранировать кавычки внутри $str.Вы можете использовать addslashes() для этого.

<?php
$string = 'cup'; 
$name = 'coffee'; 
$str = 'This is a $string wi"th my $name in it.'; 
$strslash = addslashes($str);
eval("\$str = \"$strslash\";"); 
echo $str;
?>
0 голосов
/ 04 октября 2018

Вы должны экранировать некоторые символы:

<?php
$string = 'cup'; 
$name = 'coffee'; 
$str = 'This is a $string wi"th my $name in it.'; 
eval("\$str = \"\$str\";"); 
echo $str;
?>
...