PHPWIND 5.3 运行代码 功能实现代码

 更新时间:2009年06月01日 00:53:45   作者:  
天架设了一个PHPWIND的论坛,想着要弄个运行代码的功能出来,不过我只懂点ASP,又没接触过PHP,想着看看有没前人树,咱乘下凉就是了。查了下,发现只有老版本的插件可以实现这个功能。
照样子弄了一下,发现数据格式已经换了,想着弄弄看,随便弄了下,感觉还有搞头。不过里面有<br />,PHP的字符替换我也不懂,试了下preg_replace发现只能替换一个,搞笑了。上网猛查资料,发现大多人说要用函数,汗汗。然后发现还有str_replace,试了下,总算可以了。
具体方法如下:
在template/你的模板名/read.html
在合适的地方加入:
复制代码 代码如下:

<script>
function run_Code(code)
{
var pop=window.open("about:blank","");
pop.document.writeln(code);
//pop.location.reload();
}
function copy_Code(obj)
{
obj.focus();
obj.select();
document.execCommand('copy');
}
function save_Code(code)
{
var pop=window.open('','_blank','top=10000');
pop.document.writeln(code);
pop.document.execCommand('saveas','','code.html');
pop.close();
}
</script>

我是直接放到顶部了,嘎嘎。
然后到require/bbscode.php文件
找到
复制代码 代码如下:

function phpcode($code){


复制代码 代码如下:

$phpcode_htm[$codeid]="<h6 class="quote"><a href="javascript:" onclick="CopyCode(document.getElementById('code$codeid'));">Copy code</a></h6><blockquote id="code$codeid">".preg_replace("/^(<br />)?(.*)/is","\2",$code)."</blockquote>";

改成
复制代码 代码如下:

$phpcode_htm[$codeid]="<form><font color=red>Code:</font><BR><TEXTAREA name ='codeArea' rows='10' style='WIDTH:100%;'>".str_replace("<br />"," ",$code)."</textarea><br> <input type=button class=btn value=运行代码 onclick=run_Code(codeArea.value)> <input type=button class=btn value=复制代码 onclick=copy_Code(codeArea)> <input type=button value=保存代码 class=btn onclick=save_Code(codeArea.value) > <input type=reset value=清除再来 class=btn name=codeAre> <font color=blue size=2>[可以先修改代码再运行]</font><form>";

传上去覆盖下:

不过发现我放了
<script>
alert("111");
</script>
居然弹出两个框,闷闷,试试其他JS函数,还算正常。
再次更新,已经正常了

相关文章

最新评论