在我的wordpress主题中,我有一个textarea选项,用户可以在其中编写代码并以字符串形式存储到数据库中。
所以这里输出我想检查编写的代码是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;
}
答案 0 :(得分:0)
如果eval()
是答案,那么你问的是错误的问题。
如果您只想输出他们在文本框中输入的HTML,请使用echo
或print
。
答案 1 :(得分:0)
起初我以为你试图允许用户在他们的页面中使用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编写的,你只会因为我的回答而发现没有任何东西爆炸,但它完全可见。