ASP

本类阅读TOP10

·asp常用数据库连接方法和技巧
·无组件生成BMP验证码
·一些常用的辅助代码 (网络收藏)
·JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
·VisualStudio.NET_2003及其 MSDN 下载地址
·ASP模拟MVC模式编程
·图片以二进制流输出到网页
·MD5加密算法 ASP版
·ASP.NET编程中的十大技巧
·改进 ASP 的字符串处理性能

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Source of: /inc/function.inc.php

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

<?php
/**
* Global Function
*
* @author   Avenger <[email protected]>
* @version 1.14 $Id 2003-05-30 10:10:08 $
*/

/**
* 弹出提示框
*
* @access public
* @param string $txt 弹出一个提示框,$txt为要弹出的内容
* @return void
*/
function popbox($txt
) {
    echo
"<script language='JavaScript'>alert('".$txt."')</script>"
;
}

/**
* 非法操作警告
*
* @access public
* @param string $C_alert   提示的错误信息
* @param string $I_goback  返回后返回到哪一页,不指定则不返回
* @return void
*/
function alert($C_alert,$I_goback='main.php'
) {
    if(!empty(
$I_goback
)) {
        echo
"<script>alert('$C_alert');window.location.href='$I_goback';</script>"
;
    } else {
        echo
"<script>alert('$C_alert');</script>"
;
    }
}


/**
* 产生随机字符串
*
* 产生一个指定长度的随机字符串,并返回给用户
*
* @access public
* @param int $len  产生字符串的位数
* @return string
*/
function randstr($len=6
) {
    
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~';
// characters to build the password from
    
mt_srand((double)microtime()*1000000*getmypid());
// seed the random number generater (must be done)
    
$password=''
;
    while(
strlen($password)<$len
)
        
$password.=substr($chars,(mt_rand()%strlen($chars)),1
);
    return
$password
;
}


/**
* 判断下拉菜音的选取项
*
* 可以判断字符串一和字符串二是否相等.从而使相等的项目在下拉菜单中被选择
*
* @access public
* @param string $str1  要比较的字符串一
* @param string $str2  要比较的字符串二
* @return string       相等返回字符串"selected",否则返回空字符串
*/
function ckselect($str1,$str2
) {
    if(
$str1==$str2
) {
        return
' selected'
;
    }
    return
''
;
}

/**
* 一个自定义的Ftp函数
*
* @access private
* @return void
*/
function myftp($ftp_server,$ftp_port,$ftp_username,$ftp_password,$ftp_path='/'
) {
    
$ftpid=@ftp_connect($ftp_server,$ftp_port) or die('Connect To Ftp Server Error!'
);
    @
ftp_login($ftpid,$ftp_username,$ftp_password) or die('Login Ftp Error!'
);
    @
ftp_chdir($ftpid,'/wwwroot/'.$ftp_path) or die('Chdir Error!'
);
    return
$ftpid
;
}

/**
* 截取中文部分字符串
*
* 截取指定字符串指定长度的函数,该函数可自动判定中英文,不会出现乱码
*
* @access public
* @param string    $str    要处理的字符串
* @param int       $strlen 要截取的长度默认为10
* @param string    $other  是否要加上省略号,默认会加上
* @return string
*/
function showtitle($str,$strlen=10,$other=true
) {
    
$j = 0
;
    for(
$i=0;$i<$strlen;$i
++)
      if(
ord(substr($str,$i,1))>0xa0) $j
++;
    if(
$j%2!=0) $strlen
++;
    
$rstr=substr($str,0,$strlen
);
    if (
strlen($str)>$strlen && $other) {$rstr.='...'
;}
    return
$rstr
;
}

/**
* 制作链接
*
* @access public
* @param string    url         要链接到的网址
* @param string    linktext    显示的链接文字
* @param string    target      目标框架
* @param string    extras      扩展参数
* @return string
*/
function make_link ($url, $linktext=false, $target=false, $extras=false
) {
    return
sprintf("<a href=\"%s\"%s%s>%s</a>"
,
        
$url
,
        (
$target ? ' target="'.$target.'"' : ''
),
        (
$extras ? ' '.$extras : ''
),
        (
$linktext ? $linktext : $url
)
    );
}

/**
* 格式化用户评论
*
* @access public
* @param string
* @return void
*/
function clean_note($text
) {
    
$text = htmlspecialchars(trim($text
));

    
/* turn urls into links */
    
$text = preg_replace("/((mailto|http|ftp|nntp|news):.+?)(&gt;|\s|\)|\"|\.\s|$)/","<a href=\"\1\">\1</a>\3",$text
);

    
/* this 'fixing' code will go away eventually. */
    
$fixes = array('<br>', '<p>', '</p>'
);
    
reset($fixes
);
    while (list(,
$f) = each($fixes
)) {
        
$text = str_replace(htmlspecialchars($f), $f, $text
);
        
$text = str_replace(htmlspecialchars(strtoupper($f)), $f, $text
);
    }
    
    
/* <p> tags make things look awfully weird (breaks things out of the <code>
       tag). Just convert them to <br>'s
    */
    
$text = str_replace (array ('<P>', '<p>'), '<br>', $text
);
    
    
/* Remove </p> tags to prevent it from showing up in the note */
    
$text = str_replace (array ('</P>', '</p>'), '', $text
);

    
/* preserve linebreaks */
    
$text = str_replace("\n", "<br>", $text
);

    
/* this will only break long lines */
    
if (function_exists("wordwrap"
)) {
        
$text = wordwrap($text
);
    }
    
    
// Preserve spacing of user notes
    
$text = str_replace("  ", " &nbsp;", $text
);

    return
$text
;
}


/**
* 获取图象信息的函数
*
* 一个全面获取图象信息的函数
*
* @access public
* @param string $img 图片路径
* @return array
*/
function getimageinfo($img
) {
    
$img_info = getimagesize($img
);
    switch (
$img_info[2
]) {
    case
1
:
    
$imgtype = "GIF"
;
    break;
    case
2
:
    
$imgtype = "JPG"
;
    break;
    case
3
:
    
$imgtype = "PNG"
;
    break;
    }
    
$img_size = ceil(filesize($img)/1000)."k"
;
    
$new_img_info
= array (
        
"width"=>$img_info[0
],
        
"height"=>$img_info[1
],
        
"type"=>$imgtype
,
        
"size"=>
$img_size
    
);
    return
$new_img_info
;
}

/**
* 计算当前时间
*
* 以微秒为单位返回当前系统的时间
*
* @access public
* @return real
*/
function getmicrotime
() {
    
$tmp = explode(' ', microtime
());
    return (real)
$tmp[1]. substr($tmp[0], 1
);
}

/**
* 写文件操作
*
* @access public
* @param bool
* @return void
*/
function wfile($file,$content,$mode='w'
) {
    
$oldmask = umask(0
);
    
$fp = fopen($file, $mode
);
    if (!
$fp) return false
;
    
fwrite($fp,$content
);
    
fclose($fp
);
    
umask($oldmask
);
    return
true
;
}


/**
* 加载模板文件
*
* @access public
* @return void
*/
function tpl_load($tplfile,$path='./templates/',$empty='remove'
) {
    global
$tpl
;

    
$path ? '' : $path='./templates/'
;

    require_once
'HTML/Template/PHPLIB.php'
;

    
$tpl = new Template_PHPLIB($path,$empty
);
    
    
$tpl->setFile('main',$tplfile
);
}


/**
* 模板解析输出
*
* @access public
* @return void
*/
function tpl_output
() {
    global
$tpl
;

    
$tpl->parse('output','main'
);
    
$tpl->p('output'
);
}


/**
* 邮件发送函数
*
* @access public private
* @param bool
* @return void
*/
function mailSender($from, $to, $title, $content
) {
    
$from ? $from = '[email protected]' : ''
;
    
$title ? $title = 'From Exceed PHP...' : ''
;
    
$sig =
"
      感谢您使用我们的服务.\n\n
                                                Exceed PHP(超越PHP)\n
                                                $maildate\n\n

---------------------------------------------------------------------------------------
\n\n
去发现极限方法的唯一办法就是去超越它\n
超越PHP欢迎您(http://www.phpe.net)\n
"
;
    
$content .= $sig
;

    if (@
_mail($to, $title, $content, "From:$from\nReply-To:$from"
)) {
        return
true
;
    } else {
        return
false
;
    }

}


/**
* UBB解析
*
* @param      none
* @access     public
* @return     void
*/
function ubbParse($txt, $coverhtml=0
) {

    if (
$coverhtml == 0) $txt = nl2br(htmlspecialchars($txt));  
//BR和HTML转换
    //只转换BR,不转换HTML
    
if ($coverhtml == 1
) {
        if (!
preg_match('/^<.+>$/s', $txt) && !preg_match('/<table.+<\/table>/is', $txt
)) {
            
$txt = strip_tags($txt
);
            
$txt = nl2br($txt
);
        }
    }

    
// pre and quote
    
$txt = preg_replace( "#\[quote\](.+?)\[/quote\]#is", "<blockquote>\1</blockquote>", $txt
);
    
$txt = preg_replace( "#\[code\](.+?)\[/code\]#is", "<p class='php'>\1</p>", $txt
);

    
// Colors 支持篏套
    
while( preg_match( "#\[color=([^\]]+)\](.+?)\[/color\]#is", $txt
) ) {
        
$txt = preg_replace( "#\[color=([^\]]+)\](.+?)\[/color\]#is", "<span style='color:\1'>\2</span>", $txt
);
    }

    
// Align
    
$txt = preg_replace( "#\[center\](.+?)\[/center\]#is", "<center>\1</center>", $txt
);
    
$txt = preg_replace( "#\[left\](.+?)\[/left\]#is", "<div align=left>\1</div>", $txt
);
    
$txt = preg_replace( "#\[right\](.+?)\[/right\]#is", "<div align=right>\1</div>", $txt
);

    
// Sub & sup
    
$txt = preg_replace( "#\[sup\](.+?)\[/sup\]#is", "<sup>\1</sup>", $txt
);
    
$txt = preg_replace( "#\[sub\](.+?)\[/sub\]#is", "<sub>\1</sub>", $txt
);

    
// email tags
    // [email][email protected][/email]   [[email protected]]Email me[/email]
    
$txt = preg_replace( "#\[email\](\S+?)\[/email\]#i"                                                                , "<a href='mailto:\1'>\1</a>", $txt
);
    
$txt = preg_replace( "#\[email\s*=\s*\&quot\;([\.\w\-]+\@[\.\w\-]+\.[\.\w\-]+)\s*\&quot\;\s*\](.*?)\[\/email\]#i"  , "<a href='mailto:\1'>\2</a>", $txt
);
    
$txt = preg_replace( "#\[email\s*=\s*([\.\w\-]+\@[\.\w\-]+\.[\w\-]+)\s*\](.*?)\[\/email\]#i"                       , "<a href='mailto:\1'>\2</a>", $txt
);

    
// url tags
    // [url]http://www.phpe.net[/url]   [url=http://www.phpe.net]Exceed PHP![/url]
    
$txt = preg_replace( "#\[url\](\S+?)\[/url\]#i"                                       , "<a href='\1' target='_blank'>\1</a>", $txt
);
    
$txt = preg_replace( "#\[url\s*=\s*\&quot\;\s*(\S+?)\s*\&quot\;\s*\](.*?)\[\/url\]#i" , "<a href='\1' target='_blank'>\2</a>", $txt
);
    
$txt = preg_replace( "#\[url\s*=\s*(\S+?)\s*\](.*?)\[\/url\]#i"                       , "<a href='\1' target='_blank'>\2</a>", $txt
);

    
// Start off with the easy stuff
    
$txt = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\1</b>", $txt
);
    
$txt = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\1</i>", $txt
);
    
$txt = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\1</u>", $txt
);
    
$txt = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\1</s>", $txt
);

    
// Images
    
$txt = preg_replace( "#\[img\](.+?)\[/img\]#i", "<a href='\1' target='_blank'><img alt='Click to fullsize' src='\1' border='0' onload='javascript:if(this.width>500) this.width=500' align='center' hspace='10' vspace='10'></a><br />", $txt
);
    
    
// Attach
    
$txt = preg_replace( "#\[attach\s*=\s*\&quot\;\s*(\S+?)\s*\&quot\;\s*\](.*?)\[\/attach\]#i" , "<a href='\2' target='_blank'><b>相关附件:</b>\1</a>", $txt
);
    
$txt = preg_replace( "#\[attach\s*=\s*(\S+?)\s*\](.*?)\[\/attach\]#i"                       , "<a href='\2' target='_blank'><b>相关附件:</b>\1</a>", $txt
);

    
// Iframe
    
$txt = preg_replace( "#\[iframe\](.+?)\[/iframe\]#i", "<div align='center'><iframe src='\1' style='width:96%;height:400px'></iframe><br clear='all'><a href='\1' target='_blank'>在新窗口打开链接</a></div>", $txt
);

    
// (c) (r) and (tm)
    
$txt = preg_replace( "#\(c\)#i"     , "&copy;" , $txt
);
    
$txt = preg_replace( "#\(tm\)#i"    , "&#153;" , $txt
);
    
$txt = preg_replace( "#\(r\)#i"     , "&reg;"  , $txt
);
    
    return
$txt
;
}
?>




相关文章

相关软件