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