用户评论:
greg at no_ggmac_reply dot com (2011-01-13 01:20:50)
Beware the example given here:
if stristr($message,'viagra')
or stristr($message,'cialis')
)
{
die();
}
stristr does not search for words, it finds matching substrings. So, for example, the check for 'cialis' will trigger on 'specialist'
jahforlove at gmail dot com (2010-10-15 22:58:53)
Use it to emulate the before_needle php V5.3 :
andy (2010-03-08 09:44:27)
Quick way to use this with an array for a needle:
$arr= array('search_term1','search_term2','search_term3');
foreach($arras$key=>$search_needle) {
if(stristr($haystack,$search_needle) !=FALSE) {
echo'execute this code if found';
}
}?>
carel at ckbt dot org (2009-05-13 08:18:41)
if stristr($message,'viagra')
or stristr($message,'cialis')
)
{
die();
}
Works quite well in any Shoutbox, Forum, Guestbook, Mailform, etcetera.
Just enter between the definitions and sending the message to the DB, et voila. ^_^
tomas dot nesrovnal at yourspirit dot cz (2008-12-18 12:36:26)
Active item item in menu:
if(stristr($_SERVER['REQUEST_URI'],$page)) {
return' class="active"';
}
}?>
usage:
.active {color: red;}
<?phpprint 'HW';?>
giz at gbdesign dot net (2007-10-06 05:02:41)
Just been caught out by stristr trying to converting the needle from an Int to an ASCII value.
Got round this by casting the value to a string.
<?phpif ( !stristr($file, (string)$myCustomer->getCustomerID() ) ) {// Permission denied}?>
art at awilton dot dotcom (2005-11-07 09:17:49)
handy little bit of code I wrote to take arguments from the command line and parse them for use in my apps.
$i=implode(" ",$argv);//implode all the settings sent via clie$e=explode("-",$i);// no lets explode it using our defined seperator '-'
//now lets parse the array and return the parameter name and its setting
// since the input is being sent by the user via the command line
//we will use stristr since we don't care about case sensitivity and
//will convert them as needed later.while (list($index,$value) =each($e)){//lets grap the parameter name first using a double reverse string
// to get the begining of the string in the array then reverse it again
// to set it back. we will also "trim" off the "=" sign$param=rtrim(strrev(stristr(strrev($value),'=')),"=");//now lets get what the parameter is set to.
// again "trimming" off the = sign$setting=ltrim(stristr($value,'='),"=");// now do something with our results.
// let's just echo them out so we can see that everything is workingecho"Array index is ".$index." and value is ".$value."\r\n";
echo"Parameter is ".$param." and is set to ".$setting."\r\n\r\n";
}?>
when run from the CLI this script returns the following.
[root@fedora4 ~]# php a.php -val1=one -val2=two -val3=three
Array index is 0 and value is a.php
Parameter is and is set to
Array index is 1 and value is val1=one
Parameter is val1 and is set to one
Array index is 2 and value is val2=two
Parameter is val2 and is set to two
Array index is 3 and value is val3=three
Parameter is val3 and is set to three
[root@fedora4 ~]#
triadsebas at triads dot buildtolearn dot net (2005-07-21 05:39:34)
You can use strstr() or stristr() to validate data!
Check this out:
if (!stristr($input,'@')) {
returnfalse;
}
returntrue;
}
functionvalidate_url($input) {
if (!stristr($input,'http://')) {
returnfalse;
}
returntrue;
}?>Simple example:
print'You did not enter a valid email adress';
}
if (!validate_url($_POST['url'])) {
print'You did not enter a valid url.';
}?>
notepad at codewalkers dot com (2005-06-05 01:02:25)
returnsubstr($haystack,0,$pos);
}$email='USER@EXAMPLE.com';
echostristr_reverse($email,'er');// outputs USER?>
Techdeck at Techdeck dot org (2002-11-12 12:26:34)
An example for the stristr() function:
$a="I like php";
if (stristr("$a","LikE PhP")) {
print ("According to \$a, you like PHP.");
}?>
It will look in $a for "like php" (NOT case sensetive. though, strstr() is case-sensetive).
For the ones of you who uses linux.. It is similiar to the "grep" command.
Actually.. "grep -i".
dpatton.at.confluence.org (2002-10-02 21:36:01)
There was a change in PHP 4.2.3 that can cause a warning message
to be generated when using stristr(), even though no message was
generated in older versions of PHP.
The following will generate a warning message in 4.0.6 and 4.2.3:
stristr("haystack", "");
OR
$needle = ""; stristr("haystack", $needle);
This will _not_ generate an "Empty Delimiter" warning message in
4.0.6, but _will_ in 4.2.3:
unset($needle); stristr("haystack", $needle);
Here's a URL that documents what was changed:
http://groups.google.ca/groups?selm=cvshholzgra1031224321%40cvsserver