首页 > 编程知识 正文

phpstrstr中文,PHP strstr

时间:2023-12-29 20:31:56 阅读:330940 作者:TAKL

本文目录一览:

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 stristr strcchr 和strpos的区别

strstr — 查找字符串的首次出现,返回值是开始出现到字符串结尾的字符串.

stristr  是strstr的忽略大小写版本,作用同上

strrchr — 查找指定字符在字符串中的最后一次出现

strpos — 查找字符串首次出现的位置

没有strcchr这个函数.

php 中的strstr()与strchr()的区别

strchr()和strstr()是同义函数。功能效用完全一样。

echo strstr( 'abc@123.com', '@'); //默认返回查找值@之后的尾部,@123.com

echo strstr('abc@123.com', '@', TRUE); //参数设定true, 返回查找值@之前的首部,abc

PHP中如何判断一个字符串中是否有某个字符?

PHP中如何判断一个字符串中是否有某个字符,如下:

PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用。PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数。

1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含

代码如下:

?php

/*如手册上的举例*/

$email = 'user@example.com';

$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 strlen utf8一个中文算3个字节吗?

utf8是变长编码, 不一定是3字节, 可能是2~3, 当然ASCII字符还是1字节.gbk也是变长编码, 非ASCII的2字节, ASCII还是1字节.这两个编码对于非ASCII字符, 都是多字节的, 并且多字节字符每个字节都是127的, 也就是负数(最高位是1).另外, PHP里的strlen不是依靠判断字符串结尾的, 因为PHP是脚本语言, 它的字符串和C++的string是一样的, 将存储的字节个数当作字符串长度.另外, PHP里想数数有多少个字节用strlen, 想数数有多少个字符, 用mb系列函数, 自己去了解一下.还有些需求, 比如字符串匹配查找之类的, gbk是存在双字节匹配问题的, 两个连续汉字的中间2个字节可能被误认为其他字符, 所以不能用strstr之类的字节匹配函数(PHP里是纯字节匹配的, 不关心), 但utf-8是可以的, 它不会有类似的冲突, 另外最好的做法当然还是用mb系列, 安全可靠, 而且还支持猜编码功能.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。