©
本文档使用 PHP中文网手册 发布
(PHP 4, PHP 5)
strchr — 别名 strstr()
此函数是该函数的别名: strstr() .
[#1] webmaster at lyndonstate dot edu [2003-11-12 12:01:47]
Alternative Way:
To get all the text before the first occurence.
-----------------------------------------------
INCLUDING A NEEDLE:
$string1 = "I need cookies & soda.";
$needle = "cookies";
//find length of the needle
$needle_len = strlen($needle);
//find postion
$position_num = strpos($string1,$needle) + $needle_len;
//cut the string
$result_string = substr("$string1",0,$position_num);
//display it
echo"$result_string"; // I need cookies
-----------------------------------------------
SHORTER VERSION:
$result_string = substr("$string1",0,strpos($string1,$needle)+strlen($needle));
echo"$result_string";//I need cookies
-----------------------------------------------
EXCLUDING THE NEEDLE:
$result_string = substr("$string1",0,strpos($string1,$needle));
echo"$result_string";// I need
-----------------------------------------------
FREE EMAIL JUNK?
This is probably useful for processing emails.
For example, someone sends email to your server from Yahoo account.
Free email always comes with wasted stuff like...
"Do you Yahoo!? The New Yahoo! Shopping - with improved product search ".
We can delete the phrase like this:
$needle="Do you Yahoo!?";
$result_string = substr("$emailstring",0,strpos($emailstring, $needle));
[#2] joaobett at oninet dot pt [2003-01-10 08:43:34]
//If you want to get the text before the occurence of the character
//you want to find, simply use the function strRev twice:
$stringA = "user@example.com";
$toFind = "@";
$stringA = strrev($stringA); //The first time
$result = strchr($stringA,$toFind);
$result = strrev($result); //The second time
echo $result; //prints user@
//You can use it this way instead:
echo strrev( strchr(strrev($stringA),$toFind) );
-joao