在PHPWIND5.3中加入代码运行功能

 今天架设了一个PHPWIND的论坛,想着要弄个运行代码的功能出来,不过我只懂点ASP,又没接触过PHP,想着看看有没前人树,咱乘下凉就是了。查了下,发现只有老版本的插件可以实现这个功能。
老版本的方法如下:
http://www.phpwind.net/read-htm-tid-73240-fpage--toread--page-1.html
照样子弄了一下,发现数据格式已经换了,想着弄弄看,随便弄了下,感觉还有搞头。不过里面有<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:"  οnclick="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=运行代码 οnclick=run_Code(codeArea.value)>     <input type=button class=btn value=复制代码 οnclick=copy_Code(codeArea)>     <input type=button value=保存代码 class=btn οnclick=save_Code(codeArea.value) >    <input type=reset value=清除再来 class=btn name=codeAre> <font color=blue size=2>[可以先修改代码再运行]</font><form> " ;

传上去覆盖下,效果如下图:

 

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

再次更新,已经正常了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值