预览模式: 普通 | 列表

PHP邮箱格式检查

//邮箱格式检查
function CheckEmail($email)
{
 return eregi("^[0-9a-z][a-z0-9\._-]{1,}@[a-z0-9-]{1,}[a-z0-9]\.[a-z\.]{1,}[a-z]$", $email);
}

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2198

php处理禁用HTML但允许换行的内容

处理禁用HTML但允许换行的内容
function TrimMsg($msg)
{
 $msg = trim(stripslashes($msg));
 $msg = nl2br(htmlspecialchars($msg));
 $msg = str_replace("  ","  ",$msg);
 return addslashes($msg);
}

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2379

php过滤用于搜索的字符串

//过滤用于搜索的字符串
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;
}

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2621

PHP过滤html标记清除空格

// $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);
}

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3075

PHP获取客户端IP地址

<?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

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1900

PHP禁止浏览器缓存

@header("Pragma:no-cache\r\n");
@header("Cache-Control:no-cache\r\n");
@header("Expires:0\r\n");

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1790

PHP文本转html

<?php
//文本转HTML
function Text2Html($txt)
{
 $txt = str_replace("  "," ",$txt);
 $txt = str_replace("<","&lt;",$txt);
 $txt = str_replace(">","&gt;",$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

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2175

PHP过滤html代码得到text纯文本

<?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

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2641

PHP全角数字转半角数字过滤非数字字符

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

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3632

PHP获得当前的脚本网址

//获得当前的脚本网址
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

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1893

PHP中刷新输出缓冲

PHP中刷新输出缓冲
buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入 一个字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到buffer,当写满了一个buffer的时候,才会把buffer中的数据写入磁 盘,当然当调用内核函数flush()的时候,强制要求把buffer中的脏数据写回磁盘。

      同样的道理,在PHP中,当执行echo,print的时候,输出并没有立即通过tcp传给客户端浏览器显示, 而是将数据写入php buffer。php output_buffering机制,意味在tcp buffer之前,建立了一新的队列,数据必须经过该队列。当一个php buffer写满的时候,脚本进程会将php buffer中的输出数据交给系统内核交由tcp传给浏览器显示。所以,数据会依次写到这几个地方echo/pring -> php buffer -> tcp buffer -> browser


在PHP中与刷新缓冲相关的函数有三个:

1). flush
刷新PHP程序的缓冲,而不论PHP执行在何种情况下。该函数将当前为止程序的所有输出发送到用户的浏览器。 但是该函数不会对服务器或客户端浏览器的缓存模式产生任何影响,也不会对PHP本身的缓存产生任何影响。

查看更多...

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2065

设置PHP脚本执行超时时间的方法

设置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脚本超时: 来设置该站点的脚本超时时间。设置过大的话,可能会过分占用资源,不能及时释放资源。导致所有页面打不开,网站最终崩溃。

===========================================

查看更多...

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5299

 广告位

↑返回顶部↑