strstr 定义和用法
注释:该函数是二进制安全的。
语法
strstr(string,search,before_search)
| 参数 | 描述 |
|---|---|
| string | 必需。规定被搜索的字符串。 |
| search |
必需。规定所搜索的字符串。 如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符。 |
| before_search |
可选。默认值为 "false" 的布尔值。 如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。 |
技术细节
| 返回值: | 返回字符串的剩余部分(从匹配点)。如果未找到所搜索的字符串,则返回 FALSE。 |
| PHP 版本: | 4+ |
| 更新日志: | 在 PHP 5.3 中,新增了 before_search 参数。 |
更多实例
例子 1
以 "o" 的 ASCII 值搜索字符串,并返回字符串的剩余部分:
<?php
echo strstr("Hello world!",111);
?>
返回
o world!
例子 2
返回 "world" 第一次出现之前的字符串部分:
<?php
echo strstr("Hello world!","world",true);
结果:
Hello
例子3
查找 "Shanghai" 在 "I love Shanghai!" 中的第一次出现,并返回字符串的剩余部分:
<?php
echo strstr("I love Shanghai!","Shanghai");
?>
结果:
Shanghai!
PHP 判断字符串是否包含其它字符
以下几个函数均可用来判断某字符串是否包含另外一个字符串PHP 中判断一个字符串是否包含其它字符是很常见的操作。 虽然很简单,但还是写了几个函数,质量可能不是很高,权当锻炼。 如果这几个函数恰好能帮上你的忙,我将会很高兴的。这几个函数中,我比较喜欢第四个。。。
<?php
/**
* 以下几个函数均可用来判断某字符串是否包含另外一个字符串
* PHP 中判断一个字符串是否包含其它字符是很常见的操作。
* 虽然很简单,但还是写了几个函数,质量可能不是很高,权当锻炼。
* 如果这几个函数恰好能帮上你的忙,我将会很高兴的。
*/
/**
* 利用一下 strpos() 函数
* @param unknown_type $haystack
* @param unknown_type $needle
*/
function isInString1($haystack, $needle) {
//防止$needle 位于开始的位置
$haystack = '-_-!' . $haystack;
return (bool)strpos($haystack, $needle);
}
/**
* 利用字符串分割
* @param unknown_type $haystack
* @param unknown_type $needle
*/
function isInString2($haystack, $needle) {
$array = explode($needle, $haystack);
return count($array) > 1;
}
/**
* 用了一下正则,这种方法十分不建议,尤其是 $needle 中包含
* 特殊字符,如 ^,$,/ 等等
* @param unknown_type $haystack
* @param unknown_type $needle
*/
function isInString3($haystack, $needle) {
$pattern = '/' . $needle . '/';
return (bool)preg_match($pattern, $haystack);
}
/**
* 利用一下 strpos() 函数
* @param unknown_type $haystack
* @param unknown_type $needle
*/
function isInString4($haystack, $needle) {
return false !== strpos($haystack, $needle);
}
//测试
$haystack = 'I am ITBDW';
$needle = 'IT';
var_dump(isInString1($haystack, $needle));







