Php 不允许使用eval()

Php 不允许使用eval(),php,javascript,wordpress,eval,Php,Javascript,Wordpress,Eval,我在wordpress主题中使用WPAlchemy MetaBox PHP类来处理一些自定义的帖子类型。 运行主题检查时出现问题: WARNING: Found eval in the file inc/metaboxes/MediaAccess.php. eval() is not allowed.. Line 375: data = eval('(' + (data.indexOf('{') < 0 ? '{' + data + '}' : data) + ')'); 我不知道为什

我在wordpress主题中使用WPAlchemy MetaBox PHP类来处理一些自定义的帖子类型。 运行主题检查时出现问题:

WARNING: Found eval in the file inc/metaboxes/MediaAccess.php. eval() is not allowed.. 
Line 375: data = eval('(' + (data.indexOf('{') < 0 ? '{' + data + '}' : data) + ')');
我不知道为什么会出现这种情况,因为第375行是包含在:CDATA中的JavaScript

请参阅下面的MediaAccess.php摘录

// include javascript for special functionality
?><script type="text/javascript">
/* <![CDATA[ */
var interval = null;
var data = $(this).attr('class').match(/({.*})/i);
data = (data && data[1]) ? data[1] : '' ;
data = eval("(" + (data.indexOf('{') < 0 ? '{' + data + '}' : data) + ")");
/* ]]> */
</script><?php

我想将此主题提交到wordpress目录,但他们不允许这样做,因为有以下错误://

您绝对不应该使用eval,因为它可能是一个严重的安全问题。见、或

只需以不需要eval的方式重写代码。

尝试$.parseJSONdata.indexOf“{0?{+data+}”:data


eval是邪恶的

如果你不得不使用eval,那么出现了一些问题。使用eval不应该存在不能通过最佳实践正确实现的实际情况。

你可以使用:ev.al,因为它正在扫描你的文件以获取eval。但是eval的使用是否良好,是另一个问题。

不允许使用eval,这难道不能解释为什么吗?你能解释一下吗给我们举一个例子,看看你的class属性是什么样子的,以及你在评估后对它做了什么?我有没有办法重写这一行并维护类的功能?感谢WPAlchemy Meta box类的编码方式。你的答案是唯一的主题答案。不过,新手meme是不需要的。看起来这就像是tri谢谢你!这可能也会奏效的。