庆云php

庆云php

php 中文字符串截取函数mb_substr实例解释,左右截取,以及中文长度计算mb_strlen,包含字符串strpos

PHP 0
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取字符串 (PHP 4 >= 4.0.6, PHP 5) $str 要获取字符串的目标字符串(字符串起始位置为0) $start,$str中要使用的第一个字符的位置 $length,获取的子字符串的长度(注意不是结束位置) $encoding,可指定字符编码(一般用于处理中文字符时使用,同时这个问题碰到的非常多)
总结: 1、在处理英文字符串的时候,该函数的第四个参数($encoding)可以忽略。 2、在处理中文字符串的时候,就要小心了,一定要考虑编码问题,编码不同,中文的值也不同。 3、在中文字符串导入数据库时,就显得更为重要了。 4、处理字符串或文本的编码能力,是衡量程序员功力的一项标准。
 

substr() 函数返回字符串的一部分。 注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。

echo substr("Hello world",6,6)."
"; echo substr("Hello world",0,-1)."
"; echo substr("Hello world",-10,-2)."
";
?>

语法

substr(string,start,length)
 
参数 描述
string 必需。规定要返回其中一部分的字符串。
start 必需。规定在字符串的何处开始。
  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾的指定位置开始
  • 0 - 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
  • 正数 - 从 start 参数所在的位置返回
  • 负数 - 从字符串末端返回
  int strlen ( string $string )  int strlen ( string $string )  获取给定字符串的[字节]长度 成功则返回字符串$string的长度,如果$string为空,则返回 0。
mb_strlen() — 获取字符串的长度 mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ) $str 要检查长度的字符串 $encoding,可指定字符编码,如省略则使用内部字符编码 返回值:返回具有encoding编码的字符串str包含的[字符数],多字节的字符被计为 1




编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便。

strpos() 函数判断字符串中是否包含某字符串 https://www.jb51.net/article/154741.htm

1. strstr strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。 该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。 代码如下:
1
2
3
4
5
6
7
 /*如手册上的举例*/
 $email = 'user@example.com';
 $domain = strstr($email, '@');
 echo $domain;
 // prints @example.com
?>
2. stristr stristr() 函数查找字符串在另一个字符串中第一次出现的位置。 如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写. 3. strpos strpos函数返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好. 实例1
1
2
3
4
5
if(strpos('www.jb51.net','jb51') !== false){
 echo '包含jb51';
}else{
 echo '不包含jb51';
}
实例2
1
2
3
$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle); // 返回第一次找到改字符串的位置,这里返回为1,若查不到则返回False
4. explode 用explode进行判断PHP判断字符串的包含代码如下:
1
2
3
4
5
6
7
8
9
function checkstr($str){
 $needle ='a';//判断是否包含a这个字符
 $tmparray = explode($needle,$str);
 if(count($tmparray)>1){
 return true;
 } else{
 return false;
 }
}
5、substr例如我们需要判断最后一个字符是不是制定字符
1
2
3
4
5
6
/*
$str1="

这是个winrar专用的dll然后下哦啊不错的dll文件,QlogWin32.dll

"
;
if(substr($str1,-8)==".dll

"
){
echo substr($str1,0,-4);
}
6、substr_count统计“子字符串”在“原始字符串中出现的次数” substr_count()函数本是一个小字符串在一个大字符串中出现的次数: $number = substr_count(big_string, small_string); 正好今天需要一个查找字符串的函数,要实现判断字符串big_string是否包含字符串small_string,返回true或fasle; 查了半天手册没有找到现成的函数,于是想到可以用substr_count函数来实现代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
function check_str($str, $substr)
{
 $nums=substr_count($str,$substr);
 if ($nums>=1)
 {
  return true;
 }
 else
 {
  return false;
 }
}
超级简单! 具体的大家可以查找一下相关函数,进行高级应用。