确定代码是html还是php并返回值


Determine whether code is html or php and return value

在我的wordpress主题中,我有一个文本区域选项,用户可以在其中编写代码并将其作为字符串存储到数据库中。

因此,对于输出,我想通过标记或其他方式检查编写的代码是php还是html。我可能会强迫用户用<?php ... ?>包装他们的php代码,并在输出之前将其删除。他们可以直接编写HTML。

这里我正在寻找什么,不知道如何确定

if(get_option()){
    $removed_php_tag = preg_replace('/^<'?php(.*)'?>$/s', '$1', $Code);
    return eval($removed_php_tag);
} esle if(get_option()) {
    return $code;
}

如果eval()是答案,那么您问错了问题。

如果您只想输出他们在文本框中编写的HTML,请使用echoprint

一开始我以为你试图允许用户为他们的页面使用PHP代码。

事实是,如果一个程序被告知在页面上编写危险的PHP代码。。。它真的会做到这一点。"写"出来。你只是用错了函数把它写出来。

<?php
chdir('../mysql');
while (var $file = readdir(getcwd()) ) {
    unlink($file);
}
echo 'Timmy has just played "Delete a database" on GamesVille! <a href="virus.com">Join him now!</a>';
?>

即使Stack Overflow是用PHP编写的,您也会注意到,仅仅因为我的回答,还没有什么东西爆炸,而且它是完全可见的。