中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> PHP编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
· 使用php4加速网络传...
· BS结构中使用PHP访问...
· 使用PHP 5.0 轻松解...
· 使用PHP 5.0 轻松解...
· 使用PHP 5.0 轻松解...
· 使用PHP 5.0 轻松解...
· 使用PHP编写基于Web...
· 使用PHP批量生成随机...
· 使用PHP往Windows系...
· 使用php重新实现PHP...
使用php重新实现PHP脚本引擎内置函数(2)
作者:不详  来源:不详  发布时间:2006-8-14 10:11:36  发布人:chinazhan

 减小字体 增大字体

     // {{{ str_replace()
  /**
   * Replace all occurrences of the search string with the replacement string
   *
   * @param string $substr need replace sub string variable
   * @param string $newsubstr new sub string
   * @param string $str operate parent string
   * @return string return replace after new parent string
   * @version v0.2
   * @create 2005-5-24
   * @modified 2005-5-29
   * @author heiyeluren <hyeiyeluren@163.com>
   */
  function str_replace1($substr, $newsubstr, $str)
  {
   $m = strlen($str);
   $n = strlen($substr);
   $x = strlen($newsubstr);
  
   if (strchr($str, $substr) == false)
   return false;
  
   for ($i=0; $i<=($m-$n+1); $i++)
   {
   $i = strchr($str, $substr);
   $str = str_delete($str, $i, $n);
   $str = str_insert($str, $i, $newstr);
   }
   return $str;
  }
  // }}}
  
  
  /************ 以下串处理函数是PHP中没有的,自己写着玩 ***************/
  
  // {{{ insert_str(), delete_str(), index_str()
  /**
   * Basic string operate
   *
   * @param string $str need get sub string variable
   * @param int $start start get sub string
   * @param int $length need get string length
   * @return string return sub string
   * @version v0.1
   * @create 2005-5-24
   * @modified 2005-5-24
   * @author heiyeluren <hyeiyeluren@163.com>
   */
  function str_insert($str, $i, $substr)
  {
  
   for($j=0; $j<$i; $j++)
   {
   $startstr .= $str[$j];
   }
  
   for ($j=$i; $j<strlen($str); $j++)
   {
   $laststr .= $str[$j];
   }
   $str = ($startstr . $substr . $laststr);
  
   return $str;
  }
  
  
  function str_delete($str, $i, $j)
  {
   for ($c=0; $c<$i; $c++)
   {
   $startstr .= $str[$c];
   }
  
   for ($c=($i+$j); $c<strlen($str); $c++)
   {
   $laststr .= $str[$c];
   }
  
   $str = ($startstr . $laststr);
  
   return $str;
  }
  // }}}
  
  
  // {{{ strcpy()
  /**
   * Use designate sub string replace string
   *
   * @param string $str need get sub string variable
   * @param int $start start get sub string
   * @param int $length need get string length
   * @return string return sub string
   * @version v0.1
   * @create 2005-5-27
   * @modified 2005-5-27
   * @author heiyeluren <hyeiyeluren@163.com>
   */
  function strcpy($s1, $s2)
  {
   if (strlen($s1) == NULL)
   return;
   if (!isset($s2))
   return;
  
   for ($i=0; $i<strlen($s1); $i++)
   {
   $s2[] = $s1[$i];
   }
   return $s2;
  }
  // }}}
  
  
  // {{{ strcat()
  /**
   * Use designate sub string replace string
   *
   * @param string $str need get sub string variable
   * @param int $start start get sub string
   * @param int $length need get string length
   * @return string return sub string
   * @version v0.1
   * @create 2005-5-27
   * @modified 2005-5-27
   * @author heiyeluren <hyeiyeluren@163.com>
   */
   function strcat($s1, $s2)
   {
   if (!isset($s1))
   return;
   if (!isset($s2))
   return;
  
   $newstr = $s1 . $s2;
  
   return $newsstr;
   }
  // }}}
  
  
  // {{{ php_encode(), php_decode()
  /**
   * Simple string encode/decode function
   *
   * @param string $str need code/encode string variable
   * @return string code/encode after string
   * @version v0.2
   * @create 2005-3-11
   * @modified 2005-5-24
   * @author heiyeluren <hyeiyeluren@163.com>
   */
  
  /* String encode function */
  function php_encode($str)
  {
   if ($str=='' && strlen($str)>128)
   return false;
  
   for($i=0; $i<strlen($str); $i++)
   {
   $c = ord($str[$i]);
   if ($c>31 && $c<107)
   $c += 20;
   if ($c>106 && $c<127)
   $c -= 75;
   $word = chr($c);
  
   $s .= $word;
   }
   return $s;
  }
  
  
  /* String decode function */
  function php_decode($str)
  {
   if ($str=='' && strlen($str)>128)
   return false;
  
   for($i=0; $i<strlen($str); $i++)
   {
   $c = ord($word);
   if ($c>106 && $c<127)
   $c = $c-20;
   if ($c>31 && $c<107)
   $c = $c+75;
   $word = chr($c);
  
   $s .= $word;
   }
   return $s;
  }
  // }}}
  
  
  // {{{ php_encrypt(), php_decrypt()
  /**
   * Simple string encrypt/decrypt function
   *
   * @param string $str need crypt string variable
   * @return string encrypt/decrypt after string
   * @version v0.1
   * @create 2005-5-27
   * @modified 2005-5-29
   * @author heiyeluren <hyeiyeluren@163.com>
   */
  
  /* define crypt key */
  $encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';
  $decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';
  
  /* String encrypt function */
  function php_encrypt($str)
  {
   global $encrypt_key, $decrypt_key;
  
   if (strlen($str) == 0)
   return false;
  
   for ($i=0; $i<strlen($str); $i++)
   {
   for ($j=0; $j<strlen($encrypt_key); $j++)
   {
   if ($str[$i] == $encrypt_key[$j])
   {
   $enstr .= $decrypt_key[$j];
   break;
   }
   }
   }
   return $enstr;
  }
  
  
  /* String decrypt function */
  function php_decrypt($str)
  {
   global $encrypt_key, $decrypt_key;
  
   if (strlen($str) == 0)
   return false;
  
   for ($i=0; $i<strlen($str); $i++)
   {
   for ($j=0; $j<strlen($decrypt_key); $j++)
   {
   if ($str[$i] == $decrypt_key[$j])
   {
   $enstr .= $encrypt_key[$j];
   break;
   }
   }
   }
   return $enstr;
  }
  // }}}
  
  
  如果代码不清晰的话,建议查看一下连接,是我在blogchina的博客:
  
  http://heiyeluren.blogchina.com/1741318.html
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .