<?php

/*

'**************************************************************************************************

' 软件名称: 黑色幻想舞曲管理系统CMS2.0

' 版本编号: hshxsdj 2.0

' 官方网站: http://www.hshxs.com

' 官方论坛：http://bbs.hshxs.com

' 版权所有: 黑色幻想开发团队    噬己翼(QQ:532917920)

' 郑重声明:

'    1、任何个人或组织不得在未经授权的情况下删除、修改、拷贝本软件及其他副本上一切关于版权的信息；

'    2、黑色幻想网络事业部保留此软件的法律追究权利

'**************************************************************************************************

*/

function geturlcontent($url,$charset){

	if(function_exists("file_get_contents")){

		for($i=0;$i<3;$i++){

			$content=@file_get_contents($url);

			if($content) break;

			}

		if(!IsNul($content) && function_exists('curl_init')){

			  $ch = curl_init();

			  $timeout = 5; // set to zero for no timeout

			  curl_setopt ($ch, CURLOPT_URL, $url);

			  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 

			  curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

			  $content = curl_exec($ch);

			  curl_close($ch);		

			}

		

		}

		

		

		if($charset=='UTF-8'){

				 $content=convert_encoding($content,'GBK','UTF-8');

			}	

			return $content;				  		

	}

	

//getlist 函数功能: 返回字符串中所有$startstr开始$endstr结束的字符串.

//返回结果 字符串数组

function getArr($startstr,$endstr,$content)

{	 

	  $startstr=ReplaceStr($startstr,'/','\/');

//	  $startstr=ReplaceStr($startstr,"\n",'\n');

//	  $startstr=ReplaceStr($startstr,"\r",'\r');

	  $endstr=ReplaceStr($endstr,'/','\/');

//	  $endstr=ReplaceStr($endstr,"\n",'\n');

//	  $endstr=ReplaceStr($endstr,"\r",'\r');

	  //$theregstr='/'.$startstr.'([\S]+?)'.$endstr.'/';

	  $theregstr='/'.$startstr.'(.*?)'.$endstr.'/';

	  preg_match_all($theregstr,$content,$match_array);

	  $newarray=$match_array[1];

	  return $newarray;

}

function getContent ($sourceStr,$star,$end,$flag )

{

  switch ($flag) {

    case 0:  //取指定字符前面的

        echo strrpos( $sourceStr, $end );

        echo '-----'.strlen( $end );

        $content = substr( $sourceStr, 0, strrpos( $sourceStr, $end ) + strlen( $end ) );

        break;

    case 1:  //取指定字符之间的,不包括指定字符

		if($star!="" && $end!=""){

			if(strpos($sourceStr,$star)!=""){

        		$content = substr($sourceStr,strpos($sourceStr,$star)+strlen($star));

        		//$content = substr( $content, 0, strrpos( $content, $end ) );

				$content = substr($content,0,strpos($content,$end));

				}

			else{

				$content="";

				}	

			}

		else{

			$content="未知";

			}

        break;

    case 2:  //取指定字符之间的，包括指定字符

        $content =strstr( $sourceStr, $star );



        $content = substr( $content, 0, strrpos( $content, $end ) + strlen( $end ) );

        break;

    case 3:  //取指定字符之后的，不包括指定字符

        $content = substr( $sourceStr, strrpos( $sourceStr,$star)+ strlen( $star ));

        break;

    case 4:  //取指定字符之后的，包括指定字符

        $content =strstr( $sourceStr, $star );

        break;

	case 5:  //取指定字符之间的,不包括指定字符(规则导入专属)

		if($star!="" && $end!=""){

        		$content = substr($sourceStr,strpos($sourceStr,$star)+strlen($star));

        		//$content = substr( $content, 0, strrpos( $content, $end ) );

				$content = substr($content,0,strpos($content,$end));	

			}

		else{

			$content="未知";

			}

        break;	

  }

    

        return $content;

}





function isdeal($str){

	set_magic_quotes_runtime(0);

	$magic= get_magic_quotes_gpc();	

	$str=$magic?$str:addslashes($str);

	return $str;

	}

//url补全函数	

function formaturl($l1,$l2){

if (preg_match_all("/(<img[^>]+src=\"([^\"]+)\"[^>]*>)|(<a[^>]+href=\"([^\"]+)\"[^>]*>)|(<img[^>]+src='([^']+)'[^>]*>)|(<a[^>]+href='([^']+)'[^>]*>)|<a\s+?href=[\s]*?([\S]+?)[\s]{1}/i",$l1,$regs)){

      foreach($regs[0] as $num => $url){

       $l1 = str_replace($url,lIIIIl($url,$l2),$l1);

      }

}

return $l1;

}

function lIIIIl($l1,$l2){

if(preg_match("/(.*)(href|src)\=(.+?)( |\/\>|\>).*/i",$l1,$regs)){$I2 = $regs[3];}

if(strlen($I2)>0){

      $I1 = str_replace(chr(34),"",$I2);

      $I1 = str_replace(chr(39),"",$I1);

}else{return $l1;}

$url_parsed = parse_url($l2);

$scheme      = $url_parsed["scheme"];if($scheme!=""){$scheme = $scheme."://";}

$host      = $url_parsed["host"];

$l3       = $scheme.$host;

if(strlen($l3)==0){return $l1;}

if(!empty($url_parsed["path"])){

	$path = dirname($url_parsed["path"]);

}

else{

	$path="";

	}

if(!empty($path)&&$path[0]=="\\"){$path="";}

$pos      = strpos($I1,"#");

if($pos>0) $I1 = substr($I1,0,$pos);



//判断类型

if(preg_match("/^(http|https|ftp):(\/\/|\\\\)(([\w\/\\\+\-~`@:%])+\.)+([\w\/\\\.\=\?\+\-~`@\':!%#]|(&amp;)|&)+/i",$I1)){return $l1; }//http开头的url类型要跳过

elseif(!empty($I1)&&$I1[0]=="/"){$I1 = $l3.$I1;}//绝对路径

elseif(substr($I1,0,3)=="../"){//相对路径

      while(substr($I1,0,3)=="../"){

       $I1 = substr($I1,strlen($I1)-(strlen($I1)-3),strlen($I1)-3);

       if(strlen($path)>0){

        $path = dirname($path);

       }

      }

      $I1 = $l3.$path."/".$I1;

}

elseif(substr($I1,0,2)=="./"){

      $I1 = $l3.$path.substr($I1,strlen($I1)-(strlen($I1)-1),strlen($I1)-1);

}

elseif(strtolower(substr($I1,0,7))=="mailto:"||strtolower(substr($I1,0,11))=="javascript:"){

      return $l1;

}else{

      $I1 = $l3.$path."/".$I1;

}

return str_replace($I2,"\"$I1\"",$l1);

//return str_replace($I2,$I1,$l1);

}



function CollectGet($key,$mode,$isfilter=''){

	set_magic_quotes_runtime(0);

	$magic= get_magic_quotes_gpc();	

	switch ($mode){

		case 'post':

			$value=isset($_POST[$key]) ? $magic?$_POST[$key]:addslashes($_POST[$key]) : '';

			break;

		case 'get':

			$value=isset($_GET[$key]) ? $magic?$_GET[$key]:addslashes($_GET[$key]) : '';

			break;

		default:

			$value=isset($_POST[$key]) ? $magic?$_POST[$key]:addslashes($_POST[$key]) : '';

			if($value==""){

				$value=isset($_GET[$key]) ? $magic?$_GET[$key]:addslashes($_GET[$key]) : '';

				}

			break;

		}

	if($isfilter!=''){

		$value=str_encode($value);

		}

	

	return $value;	

}



function collectRep($str,$reg){

		if(IsNul($reg)){

		$regArr=explode("\n",$reg);

		for($i=0;$i<count($regArr);$i++){

			$restr=explode('@@',$regArr[$i]);

			$ostr=$restr[0];

			$nstr=$restr[1];

			$str=ReplaceStr($str,$ostr,$nstr);

			}

		}

		return $str;

		

	}



function removeFilter($str,$safe){

		if(IsNul($safe)){

			$safeArr=explode(',',$safe);

			for($i=0;$i<count($safeArr);$i++){

				if(strtolower($safeArr[$i])=='iframe' or strtolower($safeArr[$i])=='object' or strtolower($safeArr[$i])=='script' or strtolower($safeArr[$i])=='embed'){

					$regEx="/<$safeArr[$i].*?>(.*?)<\/$safeArr[$i]>/";

					}

				elseif(strtolower($safeArr[$i])!='a'){

					$regEx="/<$safeArr[$i].*?>(.*?)<\/$safeArr[$i].*?>/" ;

					}

				elseif(strtolower($safeArr[$i])=='a'){

					$regEx="/<a.+?>(.*?)<\/a>/" ;

					}

				elseif(strtolower($safeArr[$i])=='img'){

					$regEx="/<img[\S\s]+?src=([\S]*).+?>\/";

					}

			if(IsNul($regEx)){		

				preg_match_all($regEx,$str,$pregArr);

				if(!empty($pregArr)){

					$str=ReplaceStr($str,$pregArr[0],$pregArr[1]);

					}

				}

			}			

		}

	return $str;	

	}

	

function dealPic($pic,$weburl){

		if(stristr($pic,"http://")==false){

			$pic=$weburl.$pic;

			}

		return $pic;	

	}	

?>