Extracting Substrings






Extracting Substrings

Problem

You want to extract part of a string, starting at a particular place in the string. For example, you want the first eight characters of a username entered into a form.

Solution

Use substr( ) to select your substring, as in Figure.

Extracting a substring with substr( )

<?php
$substring = substr($string,$start,$length);
$username = substr($_GET['username'],0,8);
?>

Discussion

If $start and $length are positive, substr( ) returns $length characters in the string, starting at $start. The first character in the string is at position 0. Figure has positive $start and $length.

Using substr( ) with positive $start and $length

print substr('watch out for that tree',6,5);

Figure prints:

out f

If you leave out $length, substr( ) returns the string from $start to the end of the original string, as shown in Figure.

Using substr( ) with positive start and no length

print substr('watch out for that tree',17);

Figure prints:

t tree

If $start is bigger than the length of the string, substr( ) returns false..

If $start plus $length goes past the end of the string, substr( ) returns all of the string from $start forward, as shown in Figure.

Using substr( ) with length past the end of the string

print substr('watch out for that tree',20,5);

Figure prints:

ree

If $start is negative, substr( ) counts back from the end of the string to determine where your substring starts, as shown in Figure.

Using substr( ) with negative start

print substr('watch out for that tree',-6);
print substr('watch out for that tree',-17,5);

Figure prints:

t tree
out f

With a negative $start value that goes past the beginning of the string (for example, if $start is -27 with a 20-character string), substr( ) behaves as if $start is 0.

If $length is negative, substr( ) counts back from the end of the string to determine where your substring ends, as shown in Figure.

Using substr( ) with negative length

print substr('watch out for that tree',15,-2);
print substr('watch out for that tree',-4,-1);

Figure prints:

hat tr
tre

See Also

Documentation on substr( ) at http://www.php.net/substr.



 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows