本文目錄一覽:
- 1、PHP 查找中文字元串
- 2、php中strstr stristr strcchr 和strpos的區別
- 3、php 中的strstr()與strchr()的區別
- 4、PHP中如何判斷一個字元串中是否有某個字元?
- 5、php strlen utf8一個中文算3個位元組嗎?
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系列, 安全可靠, 而且還支持猜編碼功能.
原創文章,作者:GBMU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140114.html