string_mb.lib.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Specialized String Functions for phpMyAdmin
  5. *
  6. * Defines a set of function callbacks that have a pure C version available if
  7. * the "ctype" extension is available, but otherwise have PHP versions to use
  8. * (that are slower).
  9. *
  10. * The SQL Parser code relies heavily on these functions.
  11. *
  12. * @package PhpMyAdmin-String
  13. * @subpackage MB
  14. */
  15. if (! defined('PHPMYADMIN')) {
  16. exit;
  17. }
  18. /**
  19. * Returns length of string depending on current charset.
  20. *
  21. * @param string $string string to count
  22. *
  23. * @return int string length
  24. */
  25. function PMA_strlen($string)
  26. {
  27. return mb_strlen($string);
  28. }
  29. /**
  30. * Returns substring from string, works depending on current charset.
  31. *
  32. * @param string $string string to count
  33. * @param int $start start of substring
  34. * @param int $length length of substring
  35. *
  36. * @return string the sub string
  37. */
  38. function PMA_substr($string, $start, $length = 2147483647)
  39. {
  40. return mb_substr($string, $start, $length);
  41. }
  42. /**
  43. * Returns postion of $needle in $haystack or false if not found
  44. *
  45. * @param string $haystack the string being checked
  46. * @param string $needle the string to find in haystack
  47. * @param int $offset the search offset
  48. *
  49. * @return integer position of $needle in $haystack or false
  50. */
  51. function PMA_strpos($haystack, $needle, $offset = 0)
  52. {
  53. return mb_strpos($haystack, $needle, $offset);
  54. }
  55. /**
  56. * Make a string lowercase
  57. *
  58. * @param string $string the string being lowercased
  59. *
  60. * @return string the lower case string
  61. */
  62. function PMA_strtolower($string)
  63. {
  64. return mb_strtolower($string);
  65. }
  66. ?>