首页 > php教程 > PHP源码 > 正文

HTML页面指定符号,使该符号内的内容当做PHP代码。

PHP中文网
发布: 2016-05-25 17:09:17
原创
1063人浏览过

跳至

燕雀Logo
燕雀Logo

为用户提供LOGO免费设计在线生成服务

燕雀Logo 101
查看详情 燕雀Logo
<?php
	
   /** 
    * 把一个指定的HTML页面显示。如果有页面中有放PHP代码的地方就执行PHP代码。
    * 放置PHP代码的地方都有$fuhao1和$fuhao2
   * @param unknown_type $filename
   * @param unknown_type $fuhao1
   * @param unknown_type $fuhao2
   */
  function display2($filename,$fuhao1,$fuhao2,$xiandingarr){
  	$filestr=file_get_contents($filename);
  	$ennable=false;
  	$tmpstr=null;
  	$isxianding=false;
  	$biaojis=xiandingByArr($filestr, $xiandingarr);
    for ($i=0;$i<strlen($filestr);$i++){
    	$j=0;
    	foreach ($biaojis as $biaoji)
    	 {
    	 	 if($biaoji[0]=$i){
    	        $j=1;
    	 	 	$isxianding=true;
    	 	 }
    	 }
    	 if($j==0){
    	 	$isxianding=false;
    	 }
    	 if($isxianding){
    	 	$ennable=false;
    	 }
    	else if($filestr[$i]==$fuhao1){
    		$ennable=true;
    	}
    	else if($filestr[$i]==$fuhao2){
    		if($ennable){
    		  	
    			$functioncode=substr($tmpstr, 1);
    			$functionname=create_function("", "$functioncode;");
    			$functionname();
    			$ennable=false;
    			$tmpstr=null;
    			continue;
    		}
    	}
    	
    	if($ennable){
    		$tmpstr.=$filestr[$i];
    	}
    	else{
    		echo $filestr[$i];
    	}
    }
    echo $tmpstr;
  }
 /**
  * 过滤指定的字符。使之不当做PHP代码
  * @param unknown_type $str
  * @param unknown_type $xianding1
  * @param unknown_type $xianding2
  * @return multitype:
  */
function xianding($str,$xianding1,$xianding2){
	$pos=-1;
	$resultarr=array();
	while(!(($pos=strpos($str, $xianding1,$pos+1))===false)){
		$tmppos=$pos;
		if(!(($pos=strpos($str, $xianding2,$pos+1))===false)){
			echo $pos;
			$tmparr=array($tmppos,$pos+strlen($xianding2));
			array_push($resultarr, $tmparr);
		}
		else{
			break;
		}
	}
	return $resultarr;
}
/**
 * 根据数组中的数据来过滤,使之不当做PHP代码
 * @param unknown_type $str
 * @param unknown_type $xiandingarr
 * @return multitype:
 */
function xiandingByArr($str,$xiandingarr){
	$pos=-1;
	$resultarr=array();
 foreach ($xiandingarr as $xian){
 	while(!(($pos=strpos($str, $xian[0],$pos+1))===false)){
 		$tmppos=$pos;
 		if(!(($pos=strpos($str, $xian[1],$pos+1))===false)){
 			$tmparr=array($tmppos,$pos+strlen($xian[1]));
 			array_push($resultarr, $tmparr);
 		}
 		else{
 			break;
 		}
 	}
 }
	return $resultarr;
}
$filestr=file_get_contents("include.html");
$xianarr=array(
		 array(""), array("") ); print_r(xiandingByArr($filestr, $xianarr)); display2("include.html", "{", "}",$xianarr); ?>
登录后复制
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号