php查找字符
‘壹’ 如何用php查找字符串是否有某中文字符
用strpos函数:
strpos($str,"中文字符");
返回空者说明不存在,否则存在
‘贰’ php 获取字符串某字符的位置!
有以下几种方法:
stripos() 返回字符串在另一字符串中第一次出现的位置(大小写不敏感)
stristr() 查找字符串在另一字符串中第一次出现的位置(大小写不敏感)
strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感)
strrchr() 查找字符串在另一个字符串中最后一次出现的位置。
strripos() 查找字符串在另一字符串中最后出现的位置(对大小写不敏感)
strrpos() 查找字符串在另一字符串中最后出现的位置(对大小写敏感)
(2)php查找字符扩展阅读:
PHP常用函数:
strtoupper()函数把字符串转换为大写
strtolower()函数把字符串转换为小写
strtok()函数把字符串分割为更小的字符串
strstr()函数搜索一个字符串在另一个字符串中的第一次出现
strspn()函数返回在字符串中包含的特定字符的数目
strrpos()函数查找字符串在另一个字符串中最后一次出现的位置
strripos()函数查找字符串在另一个字符串中最后一次出现的位置
‘叁’ php 查询字符串内是否含有某个字符
strpos — 查找字符串首次出现的位置
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// 注意这里使用的是 ===。简单的 == 不能像我们期待的那样工作,
// 因为 'a' 是第 0 位置上的(第一个)字符。
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
‘肆’ PHP—strpos查找字符串
strpos——查找字符串第一次出现的位置
strpos(string $haystack, mixed $needle, int $offset = 0):int
返回needle在haystack中首次出现的数字位置
offset(7.1.0开始支持负数的 offset。)
如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始 。
返回值:
返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。同时 注意字符串位置是从0开始,而不是从1开始的 。
如果没找到 needle,将返回 false。
注意:
‘伍’ PHP如何查找到并截取字符串
substr()
例如:
$str = substr($strs, 0, 3); //取前面3个
$str = substr($strs, -3, 1); //从到数第3个取一个
//按各种方式进行截取
$str1 = substr($str,3);
echo "从第3个字符开始取至最后:";
$str2 = substr($str,3,4);
echo "从第3个字符开始取4个字符:;
$str3 = substr($str,-3);
echo "取倒数3个字符:";
‘陆’ php 如何用strstr 查找多个字符 比如$aa="1234567@0" 里查找1或2或@
strstr — 查找字符串的首次出现
string strstr
( string $haystack
, mixed $needle
[, bool $before_needle = false
] )
返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。
$needle只能是字符(串)或者数字.不然会提醒:needle is not a string or an integer
如果一定要用strstr查询字符串 $aa中是否包含1或者2或者@ 可以下面这样:
$aa="1234567@0";
$search=array(1,2,'@');
functiontest($str,$array_search){
foreach($array_searchas$value){
if(strstr($str,$value)!==false){
returntrue;
}
}
returnfalse;
}
//使用方法
$test=test($aa,$search);//true
如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数。
建议使用正则表达式简单些如:
$aa="1234567@0";
$search='/[12@]/';
if(preg_match($search,$aa)){
//包含1或者2或者@
}else{
//不包含
}
参考PHP手册网址:
http://php.net/manual/zh/function.strstr.php
‘柒’ php查询字符串里面是否有某个字符
PHP中如何判断一个字符串中是否有某个字符,如下:
PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用。PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数。
1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含
代码如下:
< ?php
/*如手册上的举例*/
$email = '[email protected]';
$domain = strstr($email, '@');
echo $domain;
// prints @example.com
?>
2. stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
3. strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.
PHP判断字符串的包含代码如下:
$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle);
4. 用explode进行判断
PHP判断字符串的包含代码如下:
function checkstr($str){
$needle = "a";//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
‘捌’ PHP 查找中文字符串
在PHP中查找中文字符,有两种方案:
将PHP保存为与欲查找中文一样的编码,然后使用strpos查找。
将PHP保存为UTF-8无BOM编码,然后转换字符串编码为UTF-8,再用strpos查找。
第一种方法:
strpos($curl_res,'中文');
第二种方法:
$str=mb_convert_encoding($str,'utf-8','gbk');
mb_strpos($str,'中文');
主意:函数中的中文字符串参数的编码,必须要和PHP文件保存格式的编码一致。
‘玖’ php查找字符串是否存在
strstr — 查找字符串的首次出现
手册示例:
$email = '[email protected]';$domain = strstr($email, '@');
如果区分大小写用stristr