<?php
mb_internal_encoding ("UTF-8"); //如果把UTF-8改为编码,下面针对于中文字符串处理的值会改变。
echo mb_internal_encoding().""; //获取字符编码为ISO-8859-1
echo mb_substr('abcdefghijk',0,9).""; //abcdefghi
echo mb_substr('abcdefghijk',1,5).""; //bcdef
echo mb_substr('我们都是中国人',0,9).""; //我们都是中国人
echo mb_substr('我们都是中国人',0,9,'gb2312').""; //我们都是中
echo mb_substr('我们都是中国人',0,9,'utf-8'); //我们都是中国人
?>
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。
<?php
echo substr("Hello world",6);
echo substr("Hello world",6,6)."<br>";
echo substr("Hello world",0,-1)."<br>";
echo substr("Hello world",-10,-2)."<br>";
?>
语法
substr(string,start,length)
| 参数 | 描述 |
|---|---|
| string | 必需。规定要返回其中一部分的字符串。 |
| start | 必需。规定在字符串的何处开始。
|
| length | 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
|
<?php
$str1 = "abcdef"; //输出6
$str2 = " ab cd "; //输出7,注意,开头、结尾、中间的空格
$str3 = "中国你好"; //输出12,但会变化,与系统所采用的字符编码方式有关
$str4 = "中国,你好"; //输出15,但会变化,与系统所采用的字符编码方式有关
echo '$str1的字节长度为:'.strlen($str1).'$str2的字节长度为:'.strlen($str2).'';
echo '$str3的字节长度为:'.strlen($str3).'$str4的字节长度为:'.strlen($str4).'';
?>
<?php
$str1 = "abcdef"; //输出6
$str2 = " ab cd "; //输出7 注意,开头、结尾、中间的空格
$str3 = "中国你好"; //输出4
$str4 = "中国,你好"; //输出5
echo '$str1的字符长度为:'.mb_strlen($str1,"utf-8").'$str2的字符长度为:'.mb_strlen($str2,"utf-8").'';
echo '$str3的字符长度为:'.mb_strlen($str3,"utf-8").'$str4的字符长度为:'.mb_strlen($str4,"utf-8").'';
?>
编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便。
strpos() 函数判断字符串中是否包含某字符串 https://www.jb51.net/article/154741.htm
1. strstr strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。 该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。 代码如下:|
1
2
3
4
5
6
7 |
<?php /*如手册上的举例*/ $email = 'user@example.com'; $domain = strstr($email, '@'); echo $domain; // prints @example.com?> |
|
1
2
3
4
5 |
if(strpos('www.jb51.net','jb51') !== false){ echo '包含jb51'; }else{ echo '不包含jb51'; } |
|
1
2
3 |
$str= 'abc';$needle= 'a';$pos = strpos($str, $needle); // 返回第一次找到改字符串的位置,这里返回为1,若查不到则返回False |
|
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; }} |
|
1
2
3
4
5
6 |
<?php/*$str1="<p>这是个winrar专用的dll然后下哦啊不错的dll文件,QlogWin32.dll</p>";if(substr($str1,-8)==".dll</p>"){echo substr($str1,0,-4);} |
|
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; }} |
本文地址:
/show-233.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。