首页 > 代码库 > 史上最简单好用的代码生成器
史上最简单好用的代码生成器
<meta charset="utf-8"><form action=‘‘ method=‘post‘><!--判断i->显示错误:等于0判断i->显示Helloworld:等于1--><!--Init->显示 Helloworld:1--><!--判断i->显示错误:等于0判断i->显示Helloworld:等于1--><!--判断i->显示错误:等于0判断i->显示错误:等于-1--><!--显示 Helloworld->结束:i=1--><!--显示 Helloworld->结束:--><textarea name="content" style="width:100%; height:30%">显示 Helloworld->结束:</textarea><input type="submit" value="http://www.mamicode.com/提交" /></from><?phpif( !isset($_POST[‘content‘]) ) exit;$content = $_POST[‘content‘];if( !isset($content) ) exit;//状态表$状态表 = array();$状态关系表 = array(); $arrContent = explode("\r\n", $content); $arrTemplate=array(); $code=""; for($i=0;$i<sizeof( $arrContent );$i++ ) { $strLine = trim($arrContent[$i]); if( !$strLine ) continue; $n1 = strpos($strLine,"->"); $n2 = strpos($strLine,":"); $strState1 = trim(substr($strLine,0,$n1)); $strState2 = trim(substr($strLine,$n1+2,$n2-$n1-2)); $strEvent = trim(substr($strLine,$n2+1)); if( $strState1!="" ) { $pos1=搜索数组($strState1,$状态表); if( $pos1<0 ) { $pos1=array_push($状态表,$strState1)-1; } } if( $strState2!="" ) { $pos2=搜索数组($strState2,$状态表); if( $pos2<0 ) $pos2=array_push($状态表,$strState2)-1; } $arr = array(); array_push($arr,$pos1); array_push($arr,$pos2); array_push($arr,$strEvent); $状态关系表=添加到状态关系表($状态关系表,$arr); }$code = 获取代码($状态关系表,$状态表); //echo "<pre>"; //var_dump($状态表); // var_dump($状态关系表); //echo "</pre>";?><canvas id="c" width="300" height="<?php echo sizeof($状态表)*140?>"></canvas><script><?php for($i=0;$i<sizeof($状态表);$i++){ $state1 = $状态表[$状态关系表[$i][0]]; $state2 = $状态表[$状态关系表[$i][1]]; ?> var c=document.getElementById("c"); var ctx=c.getContext("2d"); ctx.rect(20,20+120*<?php echo $i?>,150,100); ctx.stroke(); <?php }?> </script><textarea id="code" style="width:100%; height:30%"><?php echo $code?></textarea><?php function 搜索数组($str,$arr){ for($i=0;$i<sizeof($arr);$i++) { if( $arr[$i]==$str ) { return $i; } } return -1;}function 搜索状态关系表($str,$arr){ for($i=0;$i<sizeof($arr);$i++) { if( $arr[$i][0]==$str ) { return $i; } } return -1;}function 添加到状态关系表($arr,$arrEvent){ $arrState = array(); $pos= 搜索状态关系表($arrEvent[0],$arr); $newArrEvent = array(); array_push($newArrEvent,$arrEvent[1]); if( $arrEvent[2] ) array_push($newArrEvent,$arrEvent[2]); if( $pos >= 0 ) { //累加 array_push($arr[$pos][1],$newArrEvent); } else { $arrEventParent = array(); array_push($arrEventParent,$newArrEvent); array_push($arrState,$arrEvent[0]); array_push($arrState,$arrEventParent); //新增 array_push($arr,$arrState); } return $arr;}function 获取代码($状态关系表,$状态表){ $str=""; for($i=0;$i<sizeof($状态关系表);$i++) { if(sizeof($状态关系表[$i][1])>0&&sizeof($状态关系表[$i][1][0])<2) $template=file_get_contents("0.txt"); else $template=file_get_contents(sizeof($状态关系表[$i][1]).".txt"); $template=str_replace("{state}",$状态表[$状态关系表[$i][0]],$template); for( $j=0;$j<sizeof($状态关系表[$i][1]);$j++ ) { $template=str_replace("{state".$j."}",$状态表[ $状态关系表[$i][1][$j][0] ],$template); if( sizeof($状态关系表[$i][1][$j])>1) $template=str_replace("{case".$j."}", $状态关系表[$i][1][$j][1] ,$template); } } $str=$template; return $str;}?>{state}(); 0.txt {state}();if( {case0} ) {state0}(); 1.txt switch( {state}() ){ case {case0}: {state0}(); break; case {case1}: {state1}(); break;}2.txt
史上最简单好用的代码生成器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。