使用PHP重新实现PHP脚本引擎内置函数

实在无聊,突发奇想,想把PHP里面部分已经提供封装好的函数重新使用PHP实现一遍,于是便有了下面的代码主要实现了PHP中部分字符串处理函数。

同时实现了一些PHP中没有,但是同样有作用的字符串处理函数同样的这些函数,也能够使用其他语言来实现,比如用C/VBScript/Perl等等,那么你就能够有一个自己的函数库.以下函数不一定能够成功运行,只是为了学习而已。

  1. // {{{ strlen()
  2. /**
  3. * Count string length
  4. *
  5. * @param string $str need count length string variable
  6. * @return int return count result
  7. */
  8. function strlen1($str)
  9. {
  10. if ($str == '')
  11. return 0;
  12. $count = 0;
  13. while (1)
  14. {
  15. if ($str[$count] != NULL)
  16. {
  17. $count ;
  18. continue;
  19. }
  20. else
  21. break;
  22. }
  23. return $count;
  24. }
  25. // }}}
  26. // {{{ substr()
  27. /**
  28. * Get sub string
  29. *
  30. * @param string $str need get sub string variable
  31. * @param int $start start get sub string
  32. * @param int $length need get string length
  33. * @return string return sub string
  34. */
  35. function substr1($str, $start, $length=0)
  36. {
  37. if ($str == '')
  38. return;
  39. if ($start > strlen($str))
  40. return;
  41. if (($length != NULL) && ($start > 0) && ($length > strlen($str)-$start))
  42. return;
  43. if (($length != NULL) && ($start < 0) && ($length > strlen($str) $start))
  44. return;
  45. if ($length == NULL)
  46. $length = (strlen($str) - $start);
  47. if ($start < 0)
  48. {
  49. for ($i=(strlen($str) $start); $i<(strlen($str) $start $length); $i )
  50. {
  51. $substr .= $str[$i];
  52. }
  53. }
  54. if ($length > 0)
  55. {
  56. for ($i=$start; $i<($start $length); $i )
  57. {
  58. $substr .= $str[$i];
  59. }
  60. }
  61. if ($length < 0)
  62. {
  63. for ($i=$start; $i<(strlen($str) $length); $i )