2 /* vim: set expandtab sw=4 ts=4 sts=4: */
4 * Specialized String Functions for phpMyAdmin
6 * Copyright 2002 Robin Johnson <robbat2@users.sourceforge.net>
7 * http://www.orbis-terrarum.net/?l=people.robbat2
9 * Defines a set of function callbacks that have a pure C version available if
10 * the "ctype" extension is available, but otherwise have PHP versions to use
13 * The SQL Parser code relies heavily on these functions.
16 * @package phpMyAdmin-String-MB
20 * Returns length of string depending on current charset.
23 * @param string string to count
24 * @return int string length
27 * @todo rename to PM_STR_len()
29 function PMA_strlen($string)
31 return mb_strlen($string);
35 * Returns substring from string, works depending on current charset.
38 * @param string string to count
39 * @param int start of substring
40 * @param int length of substring
41 * @return int substring
44 * @todo rename to PM_STR_sub()
46 function PMA_substr($string, $start, $length = 2147483647)
48 return mb_substr($string, $start, $length);
52 * returns postion of $needle in $haystack or false if not found
55 * @param string $needle
56 * @param string $haystack
57 * @return integer position of $needle in $haystack or false
59 function PMA_STR_pos($haystack, $needle, $offset = 0)
61 return mb_strpos($haystack, $needle, $offset);
65 * returns right most postion of $needle in $haystack or false if not found
68 * @param string $needle
69 * @param string $haystack
70 * @return integer position of $needle in $haystack or false
72 function PMA_STR_rPos($haystack, $needle, $offset = 0)
74 return mb_strrpos($haystack, $needle, $offset);