PHP邮箱格式检查
作者:admin 日期:2012-03-26
php处理禁用HTML但允许换行的内容
作者:admin 日期:2012-03-26
php过滤用于搜索的字符串
作者:admin 日期:2012-03-26
//过滤用于搜索的字符串
function FilterSearch($keyword)
{
global $cfg_soft_lang;
if($cfg_soft_lang=='utf-8')
{
$keyword = ereg_replace("[\"\r\n\t\$\\><']",'',$keyword);
if($keyword != stripslashes($keyword))
{
return '';
}
else
{
return $keyword;
}
}
else
{
$restr = '';
for($i=0;isset($keyword[$i]);$i++)
{
if(ord($keyword[$i]) > 0x80)
{
if(isset($keyword[$i+1]) && ord($keyword[$i+1]) > 0x40)
{
$restr .= $keyword[$i].$keyword[$i+1];
$i++;
}
else
{
$restr .= ' ';
}
}
else
{
if(eregi("[^0-9a-z@#\.]",$keyword[$i]))
{
$restr .= ' ';
}
else
{
$restr .= $keyword[$i];
}
}
}
}
return $restr;
}
PHP过滤html标记清除空格
作者:admin 日期:2012-03-26
// $rptype = 0 表示仅替换 html标记
// $rptype = 1 表示替换 html标记同时去除连续空白字符
// $rptype = 2 表示替换 html标记同时去除所有空白字符
// $rptype = -1 表示仅替换 html危险的标记
function HtmlReplace($str,$rptype=0)
{
$str = stripslashes($str);
if($rptype==0)
{
$str = htmlspecialchars($str);
}
else if($rptype==1)
{
$str = htmlspecialchars($str);
$str = str_replace(" ",' ',$str);
$str = ereg_replace("[\r\n\t ]{1,}",' ',$str);
}
else if($rptype==2)
{
$str = htmlspecialchars($str);
$str = str_replace(" ",'',$str);
$str = ereg_replace("[\r\n\t ]",'',$str);
}
else
{
$str = ereg_replace("[\r\n\t ]{1,}",' ',$str);
$str = eregi_replace('script','script',$str);
$str = eregi_replace("<[/]{0,1}(link|meta|ifr|fra)[^>]*>",'',$str);
}
return addslashes($str);
}
PHP获取客户端IP地址
作者:admin 日期:2012-03-26
<?php
function GetIP()
{
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
{
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else if(!empty($_SERVER["REMOTE_ADDR"]))
{
$cip = $_SERVER["REMOTE_ADDR"];
}
else
{
$cip = '';
}
preg_match("/[\d\.]{7,15}/", $cip, $cips);
$cip = isset($cips[0]) ? $cips[0] : 'unknown';
unset($cips);
return $cip;
}
echo '您的IP是:'.GetIP();
?>
代码运行示例:https://blog.guanjianci.net/codetest/php/GetIP.php
PHP禁止浏览器缓存
作者:admin 日期:2012-03-26
PHP文本转html
作者:admin 日期:2012-03-26
<?php
//文本转HTML
function Text2Html($txt)
{
$txt = str_replace(" "," ",$txt);
$txt = str_replace("<","<",$txt);
$txt = str_replace(">",">",$txt);
$txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt);
return $txt;
}
$text='<h1>你好
世界!!!</h1>
';
echo Text2Html($text);
?>
代码运行示例:https://blog.guanjianci.net/codetest/php/TEXTtoHTML.php
PHP过滤html代码得到text纯文本
作者:admin 日期:2012-03-26
<?php
function SpHtml2Text($str)
{
$str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
$alltext = "";
$start = 1;
for($i=0;$i<strlen($str);$i++)
{
if($start==0 && $str[$i]==">")
{
$start = 1;
}
else if($start==1)
{
if($str[$i]=="<")
{
$start = 0;
$alltext .= " ";
}
else if(ord($str[$i])>31)
{
$alltext .= $str[$i];
}
}
}
$alltext = str_replace(" "," ",$alltext);
$alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
$alltext = preg_replace("/[ ]+/s"," ",$alltext);
return $alltext;
}
function Html2Text($str,$r=0)
{
if($r==0)
{
return SpHtml2Text($str);
}
else
{
$str = SpHtml2Text(stripslashes($str));
return addslashes($str);
}
}
$html=file_get_contents('http://www.soso.com');
echo Html2Text($html);
?>
运行结果示例:https://blog.guanjianci.net/codetest/php/HtmltoTEXT.php
PHP全角数字转半角数字过滤非数字字符
作者:admin 日期:2012-03-26
function GetAlabNum($fnum)
{
$nums = array("0","1","2","3","4","5","6","7","8","9");
$fnums = array("0","1","2","3","4","5","6","7","8","9");
$fnum = str_replace($nums,$fnums,$fnum);
$fnum = ereg_replace("[^0-9\.-]",'',$fnum);
if($fnum=='')
{
$fnum=0;
}
return $fnum;
}
echo '当前网址:'.GetAlabNum('你好123456789世界!!!');
运行结果示例:https://blog.guanjianci.net/codetest/php/GetAlabNum.php
PHP获得当前的脚本网址
作者:admin 日期:2012-03-26
//获得当前的脚本网址
function GetCurUrl()
{
if(!empty($_SERVER["REQUEST_URI"]))
{
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}
else
{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"]))
{
$nowurl = $scriptName;
}
else
{
$nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
}
return $nowurl;
}
echo '当前网址:'.GetCurUrl();
运行结果示例:https://blog.guanjianci.net/codetest/php/GetCurURL.php
PHP中刷新输出缓冲
作者:admin 日期:2012-03-26
PHP中刷新输出缓冲
buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入 一个字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到buffer,当写满了一个buffer的时候,才会把buffer中的数据写入磁 盘,当然当调用内核函数flush()的时候,强制要求把buffer中的脏数据写回磁盘。
在PHP中与刷新缓冲相关的函数有三个:
1). flush
刷新PHP程序的缓冲,而不论PHP执行在何种情况下。该函数将当前为止程序的所有输出发送到用户的浏览器。 但是该函数不会对服务器或客户端浏览器的缓存模式产生任何影响,也不会对PHP本身的缓存产生任何影响。
设置PHP脚本执行超时时间的方法
作者:admin 日期:2012-03-26
设置PHP脚本执行超时的时间有下面这样一些方法:
php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的工作,例如要发送很多电子邮件给大量收件者,或者要进行繁重的数据分析工作,服务器会在 30 秒后强行中止正在执行的程序,如何解决这个问题呢。
一、在php.ini里面设置 max_execution_time = 1800;
二、通过PHP的ini_set 函数设置 ini_set("max_execution_time", "1800");
三、通过set_time_limit 函数设置 set_time_limit(1800) ;
IIS中的Asp脚本超时设置,是否对php脚本有效,有待研究验证??
IIS默认一个页面脚本运行的超时时间是90秒,超过90秒程序没有运行完,则弹出这个错误。上传文件比较大,而网速又比较慢时就会超时,就是你现在的情况。可以在asp页内写程序“Server.ScriptTimeOut = 时间”,来设施脚本超时时间。也可以在IIS上的 该站点/属性/主目录/配置/选项/asp脚本超时: 来设置该站点的脚本超时时间。设置过大的话,可能会过分占用资源,不能及时释放资源。导致所有页面打不开,网站最终崩溃。
===========================================
广告位