2.11.1.2 release
[phpmyadmin/arisferyanto.git] / libraries / string_native.lib.php
blob448528046784e87ea345035c42ff2291186ba21a
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
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
11 * (that are slower).
13 * The SQL Parser code relies heavily on these functions.
15 * @version $Id$
18 /**
19 * Returns length of string depending on current charset.
21 * @uses strlen()
22 * @param string string to count
23 * @return int string length
24 * @access public
25 * @author nijel
26 * @todo rename to PM_STR_len()
28 function PMA_strlen($string)
30 return strlen($string);
33 /**
34 * Returns substring from string, works depending on current charset.
36 * @uses substr()
37 * @param string string to count
38 * @param int start of substring
39 * @param int length of substring
40 * @return int substring
41 * @access public
42 * @author nijel
43 * @todo rename to PM_STR_sub()
45 function PMA_substr($string, $start, $length = 2147483647)
47 return substr($string, $start, $length);
50 /**
51 * returns postion of $needle in $haystack or false if not found
53 * @uses strpos()
54 * @param string $needle
55 * @param string $haystack
56 * @return integer position of $needle in $haystack or false
58 function PMA_STR_pos($haystack, $needle, $offset = 0)
60 return strpos($haystack, $needle, $offset);
63 /**
64 * returns right most postion of $needle in $haystack or false if not found
66 * @uses strrpos()
67 * @param string $needle
68 * @param string $haystack
69 * @return integer position of $needle in $haystack or false
70 * @todo add workaround for PHP < 5.0.0 only first char of $needle is used
72 function PMA_STR_rPos($haystack, $needle, $offset = 0)
74 return strrpos($haystack, $needle, $offset);