我正在尝试使用eval()执行一串SimpleHTML。我完全意识到eval()的危险,并且不会对要执行的字符串使用任何用户输入。
$my_data = str_get_html('<html><body><a href=\"https://www.example.com\">Hello!</a></body></html>');
$str = '$my_data->find(\'a\', 0)->attr[\'href\']';
eval ("\$str = \"$str\";");
echo $str;
上面的代码没有执行,在回显$ str之后,我得到了:
('a', 0)->attr['href']
$ str字符串的第一部分发生了什么(即$ my_data-> find)?如何实际执行$ str字符串中的代码?