|
|
 |
strrchr (PHP 3, PHP 4, PHP 5) strrchr --
Find the last occurrence of a character in a string
Descriptionstring strrchr ( string haystack, string needle )
This function returns the portion of
haystack which starts at the last
occurrence of needle and goes until the
end of haystack.
Returns FALSE if needle is not found.
If needle contains more than one
character, only the first is used in PHP 4. This behavior is different from that
of strchr().
If needle is not a string, it is converted
to an integer and applied as the ordinal value of a character.
Example 1. strrchr() example |
<?php
$dir = substr(strrchr($PATH, ":"), 1);
$text = "Line 1\nLine 2\nLine 3";
$last = substr(strrchr($text, 10), 1 );
?>
|
|
strrchr() has been binary safe since PHP 4.3.0
See also strstr(), substr(), and
stristr().
User Contributed Notes
strrchr
carlos dot lage at gmail dot com
03-Apr-2005 01:45
I used dchris1 at bigpond dot net dot au 's reverse strrchr and reduced it to one line of code and fixed it's functionality - the real strrchr() returns FALSE if the needle is not found, not the haystack :)
<?php
function reverse_strrchr($haystack, $needle)
{
return strrpos($haystack, $needle) ? substr($haystack, 0, strrpos($haystack, $needle) +1 ) : false;
}
?>
dchris1 at bigpond dot net dot au
16-Feb-2004 09:16
The function provided by marcokonopacki at hotmail dot com isn't really a reverse-version of strrchr(), rather a reverse version of strchr(). It returns everything from the start of $haystack up to the FIRST instance of the $needle. This is basically a reverse of the behavior which you expect from strchr(). A reverse version of strrchr() would return everything in $haystack up to the LAST instance of $needle, eg:
<?php
function reverse_strrchr($haystack, $needle)
{
$pos = strrpos($haystack, $needle);
if($pos === false) {
return $haystack;
}
return substr($haystack, 0, $pos + 1);
}
?>
Note that this function will need to be modified slightly to work with pre 4.0b3 versions of PHP due to the return type of strrpos() ('0' is not necessarily 'false'). Check the documentation on strrpos() for more info.
A function like this can be useful for extracting the path to a script, for example:
<?
$string = "/path/to/the/file/filename.php";
echo reverse_strrchr($string, '/'); ?>
andfarm at thibs dot menloschool dot org
23-May-2003 06:24
strrchr is also very useful for finding the extension of a file. For example:
$ext = strrchr($filename, ".");
and $ext will contain the extension of the file, including a ".", if the file has an extension, and FALSE if the file has no extension. If the file has multiple extensions, such as "evilfile.jpg.vbs", then this construction will just return the last extension.
marcokonopacki at hotmail dot com
14-Apr-2003 02:43
<?
function strrrchr($haystack,$needle)
{
return substr($haystack,0,strpos($haystack,$needle)+1);
}
$string = "FIELD NUMBER(9) NOT NULL";
echo strrrchr($string,")"); ?>
juancri at tagnet dot org
16-Nov-2002 05:02
this functions returns the name of the current directory.
<?php
function currentd() {
return substr(strrchr(`pwd`, '/'), 1);
}
?>
| |