电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用php重新實現PHP腳本引擎內置函數

瀏覽:34日期:2024-02-01 18:22:33

// 實在無聊,突發奇想,想把PHP里面部分已經提供封裝好的函數重新使用PHP實現一遍, // 于是便有了下面的代碼主要實現了PHP中部分字符串處理函數,同時實現了一些PHP中 // 沒有,但是同樣有作用的字符串處理函數同樣的這些函數,也能夠使用其他語言來實; // 現,比如用C/VBScript/Perl等等,那么你就能夠有一個自己的函數庫.;;;// 以下函數不一定能夠成功運行,只是為了學習而已。;;//// 如果無特別聲明,全部是由于heiyeluren原創,要使用任何函數都請保留作者信息;

/*** String Functions Reconstruct ** Copyright (c) 2005 heiyeluren <heiyeluren@163.com>* Author: heiyeluren <heiyeluren@163.com>

* $Id: StringFunctions.php,v 0.1 e 2005-5-29 23:21 heiyeluren Exp $**/

// {{{ strlen()/*** Count string length** @param string $str need count length string variable * @return int;return count result* @version v0.1* @create 2005-5-24* @modified 2005-5-24 * @author heiyeluren <hyeiyeluren@163.com>*/function strlen1($str){if ($str == '') return 0;$count = 0;while (1){ if ($str[$count] != NULL) { $count++; continue; } else break;}return $count;}// }}}

// {{{ substr()/*** Get sub string** @param string $str need get sub string variable* @param int; $start start get sub string* @param int; $length need get string length* @return stringreturn sub string* @version v0.2* @create 2005-5-24* @modified 2005-5-25 * @author heiyeluren <hyeiyeluren@163.com>*/function substr1($str, $start, $length=0){if ($str == '') return;if ($start > strlen($str)) return;if (($length != NULL) && ($start > 0) && ($length > strlen($str)-$start)) return;if (($length != NULL) && ($start < 0) && ($length > strlen($str)+$start)) return;

if ($length == NULL) $length = (strlen($str) - $start);if ($start < 0){ for ($i=(strlen($str)+$start); $i<(strlen($str)+$start+$length); $i++) { $substr .= $str[$i]; }}

if ($length > 0){ for ($i=$start; $i<($start+$length); $i++) { $substr .= $str[$i]; }}

if ($length < 0){ for ($i=$start; $i<(strlen($str)+$length); $i++) { $substr .= $str[$i]; }}return $substr;}// }}}

// {{{ strrev()/*** Reversal string order** @param string $str need reversal string variable* @return stringreversal string* @version v0.1 www.mypchelp.cn* @create 2005-5-24* @modified 2005-5-24 * @author heiyeluren <hyeiyeluren@163.com>*/function strrev1($str){if ($str == '') return 0;for ($i=(strlen($str)-1); $i>=0; $i--){ $rev_str .= $str[$i];}return $rev_str;}// }}}

// {{{ strcmp()/*** String comparison** @param string $s1 first string* @param string $s2 second string* @return int; return -1,str1 < str2; return 1, str1 > str2, str1 = str2, *;return 0, other, return false* @version v0.1* @create 2005-5-24* @modified 2005-5-24 * @author heiyeluren <hyeiyeluren@163.com>*/function strcmp1($s1, $s2){if (strlen($s1) < strlen($s2)) return -1;if (strlen($s1) > strlen($s2)) return 1;

for ($i=0; $i<strlen($s1); $i++){ if ($s1[$i] == $s2[$i]) continue; else return false;}return 0;}// }}}

// {{{ strchr(), strstr(), strpos()/*** Find first occurrence of a string** @param string $str parent string* @param string $substr need match sub string* @return int; return find sub string at parent string first place, *;f not find, return false* @version v0.4* @create 2005-5-24* @modified 2005-5-29 * @author heiyeluren <hyeiyeluren@163.com>*/function strchr1($str, $substr){$m = strlen($str);$n = strlen($substr);

if ($m < $n) return false;

for ($i=0; $i<=($m-$n+1); $i++){ $sub = substr($str, $i, $n); if (strcmp($sub, $substr) == 0) return $i;}return false;}// }}}

// {{{ 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 stringreturn 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

標簽: PHP
主站蜘蛛池模板: 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 氨水-液氨-工业氨水-氨水生产厂家-辽宁顺程化工 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 炒货机-炒菜机-炒酱机-炒米机@霍氏机械 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 懂研帝_专业SCI论文润色机构_SCI投稿发表服务公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 咖啡加盟-咖啡店加盟-咖啡西餐厅加盟-塞纳左岸咖啡西餐厅官网 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 衡阳耐适防护科技有限公司——威仕盾焊接防护用品官网/焊工手套/焊接防护服/皮革防护手套 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 一体化污水处理设备,一体化污水设备厂家-宜兴市福源水处理设备有限公司 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | 双段式高压鼓风机-雕刻机用真空泵-绍兴天晨机械有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 包装机_厂家_价格-山东包装机有限公司 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 |