PageRenderTime 38ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/core/libs/classes/class.string.php

https://github.com/alvarotala/phpLightMVC
PHP | 135 lines | 58 code | 17 blank | 60 comment | 10 complexity | 30dca338adcdd7e5476da68fee6fc4f6 MD5 | raw file
  1. <?
  2. /**
  3. * Tiene todas las funciones staticas para el procesamiento de cadenas
  4. *
  5. * @package String
  6. * @author Miguel Godoy / Alvaro talavera
  7. **/
  8. class String
  9. {
  10. /**
  11. * Funcion que convierte los espacios en guion bajo y pasa todos los caracteres en minusculas
  12. *
  13. * Ejemplo:
  14. * <code>
  15. * $cadena = String::('HolaMundo'); // Devuelve 'hola_mundo'
  16. * </code>
  17. *
  18. * @return string Devuelve la cadena procesada
  19. * @author Miguelati
  20. * @access public
  21. **/
  22. public static function underscore($string) {
  23. return strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $string));
  24. }
  25. /**
  26. * Funcion que convierte los guiones bajo en espacios.
  27. *
  28. * @return string Devuelve la cadena procesado
  29. * @author Miguelati
  30. * @access public
  31. **/
  32. public static function humanize($lowerCaseAndUnderscoredWord) {
  33. return ucwords(str_replace("_", " ", $lowerCaseAndUnderscoredWord));
  34. }
  35. /**
  36. * Funcion que convierte los guiones bajo en espacios.
  37. *
  38. * @return string Devuelve la cadena procesado
  39. * @author Miguelati
  40. * @access public
  41. **/
  42. public static function titleize($string) {
  43. $str = trim($str);
  44. $str = str_replace(' ', ' ', $str);
  45. $str = strtolower(preg_replace("/\W/", "-", $string));
  46. $str = str_replace(' ', '', $str);
  47. return $str;
  48. }
  49. /**
  50. * Funcion que corta un string.
  51. *
  52. * @return string Devuelve la cadena procesado
  53. * @author Alvaro Talavera
  54. * @access public
  55. **/
  56. public static function sub($str, $len, $append="...") {
  57. $strlen = strlen($str);
  58. if($strlen <= $len) return $str;
  59. return (substr($str, 0, $len) . $append);
  60. }
  61. /**
  62. * Convertir un string a un formato url.
  63. *
  64. * @return string Devuelve la cadena procesado
  65. * @author Alvaro Talavera
  66. * @access public
  67. **/
  68. public static function url($str, $len=null) {
  69. if($len!=null) $str = self::sub($str, $len, "");
  70. $str = preg_replace("/[\W]+/i", '-', $str);
  71. $str = self::lower($str);
  72. return $str;
  73. }
  74. /**
  75. * Funcion que de underscore a camel.
  76. *
  77. * @return string Devuelve la cadena procesado
  78. * @author Miguelati
  79. * @access public
  80. **/
  81. public static function camelize($lowerCaseAndUnderscoredWord) {
  82. return ucwords(str_replace("_", "", $lowerCaseAndUnderscoredWord));
  83. }
  84. /**
  85. * Devuelve un print_r dentro del tag <pre>
  86. *
  87. * @return void
  88. * @author Miguelati
  89. * @access public
  90. **/
  91. public static function pr($var){
  92. echo "<pre>";
  93. print_r($var);
  94. echo "</pre>";
  95. }
  96. public static function upper($string){
  97. return strtoupper($string);
  98. }
  99. public static function lower($string){
  100. return strtolower($string);
  101. }
  102. public static function truncate($string, $to){
  103. $posicion = strpos($string, $to);
  104. if ($posicion !== false) {
  105. return substr($string, 0, $posicion + 1);
  106. } else {
  107. return false;
  108. }
  109. }
  110. public static function round($num) {
  111. $count = strlen($num);
  112. if($count <= 3) return $num;
  113. if($count > 3 && $count < 6) return round(($num / 1000), 2) . "k";
  114. if($count == 6) return round(($num / 100000), 2) . "m";
  115. if($count >= 7) return round(($num / 1000000), 2) . "G";
  116. }
  117. } // END class
  118. ?>