国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動態(tài)、技術前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      php strstr查找字符串中是否包含某些字符的查找函數(shù)

php strstr查找字符串中是否包含某些字符的查找函數(shù)

標簽: 發(fā)布日期:2014-05-03 00:00:00 509

PHP 判斷字符串是否包含其它字符 

以下幾個函數(shù)均可用來判斷某字符串是否包含另外一個字符串PHP 中判斷一個字符串是否包含其它字符是很常見的操作。 雖然很簡單,但還是寫了幾個函數(shù),質量可能不是很高,權當鍛煉。 如果這幾個函數(shù)恰好能幫上你的忙,我將會很高興的。這幾個函數(shù)中,我比較喜歡第四個。。。 

復制代碼代碼如下:

<?php 
/** 
* 以下幾個函數(shù)均可用來判斷某字符串是否包含另外一個字符串 
* PHP 中判斷一個字符串是否包含其它字符是很常見的操作。 
* 雖然很簡單,但還是寫了幾個函數(shù),質量可能不是很高,權當鍛煉。 
* 如果這幾個函數(shù)恰好能幫上你的忙,我將會很高興的。 
*/ 
/** 
* 利用一下 strpos() 函數(shù) 
* @param unknown_type $haystack 
* @param unknown_type $needle 
*/ 
function isInString1($haystack, $needle) { 
//防止$needle 位于開始的位置 
$haystack = '-_-!' . $haystack; 
return (bool)strpos($haystack, $needle); 

/** 
* 利用字符串分割 
* @param unknown_type $haystack 
* @param unknown_type $needle 
*/ 
function isInString2($haystack, $needle) { 
$array = explode($needle, $haystack); 
return count($array) > 1; 

/** 
* 用了一下正則,這種方法十分不建議,尤其是 $needle 中包含 
* 特殊字符,如 ^,$,/ 等等 
* @param unknown_type $haystack 
* @param unknown_type $needle 
*/ 
function isInString3($haystack, $needle) { 
$pattern = '/' . $needle . '/'; 
return (bool)preg_match($pattern, $haystack); 

/** 
* 利用一下 strpos() 函數(shù) 
* @param unknown_type $haystack 
* @param unknown_type $needle 
*/ 
function isInString4($haystack, $needle) { 
return false !== strpos($haystack, $needle); 

//測試 
$haystack = 'I am ITBDW'; 
$needle = 'IT'; 
var_dump(isInString1($haystack, $needle)); 


我覺得最簡單的就是這種了 strpos($a, $b) !== false 如果$a 中存在 $b,則為 true ,否則為 false。 
用 !== false (或者 === false) 的原因是如果 $b 正好位于$a的開始部分,那么該函數(shù)會返回int(0),那么0是false,但$b確實位于$a中,所以要用 !== 判斷一下類型,要確保是嚴格的 false。昨天晚上去中關村圖書大廈,看到一本書中用的是 strpos === true 來判斷,這是極其不正確的。。。 
出錯的書為《PHP求職寶典》107頁(2012-02-26更新) 
其它的還有 PHP 原生支持的函數(shù),如 strstr(),stristr() 等,直接判斷就可以了。 
 

定義和用法 
strstr() 函數(shù)搜索一個字符串在另一個字符串中的第一次出現(xiàn)。 

該函數(shù)返回字符串的其余部分(從匹配點)。如果未找到所搜索的字符串,則返回 false。 

語法 
strstr(string,search) 

參數(shù) 描述 
string 必需。規(guī)定被搜索的字符串。 
search 必需。規(guī)定所搜索的字符串。如果該參數(shù)是數(shù)字,則搜索匹配數(shù)字 ASCII 值的字符。 

提示和注釋 
注釋:該函數(shù)是二進制安全的。 

注釋:該函數(shù)對大小寫敏感。如需進行大小寫不敏感的搜索,請使用 stristr()

例子 1 

復制代碼代碼如下:

<?php 
echo strstr("Hello world!","world"); 
?> 


//輸出:world! 

例子 2 
在本例中,我們將搜索 "o" 的 ASCII 值所代表的字符: 

復制代碼代碼如下:

<?php 
echo strstr("Hello world!",111); 
?> 


//輸出:o world! 

例子 3 

復制代碼代碼如下:

<?php 
$email = 'admin@jb51.net'; 
$domain = strstr($email, '@'); 
echo $domain; // prints @jb51.net 

$user = strstr($email, '@', true); // As of PHP 5.3.0 
echo $user; // prints admin 
?> 

 

復制代碼代碼如下:

$city_str=fopen(cgi_path."/data/weather/city.dat","r"); 
$city_ch=fread($city_str,filesize(cgi_path."/data/weather/city.dat")); 
$city_ch_arr=explode("|",$city_ch); 
//如果能匹配到所在市 
if(strstr($area_ga,"市")){ 
foreach($city_ch_arr as $city_ch_arr_item){ 
if(@strstr($area_ga,$city_ch_arr_item)){ 
echo $area_ga.'<br>'; 
echo $city_ch_arr_item; 
$s_city=$city_ch_arr_item; 



//如果找不到市 那么看看是不是能找到省 有時會有這樣的情況:廣東省長城寬帶 這樣的一律歸屬到該省省府 
elseif(strstr($area_ga,"河北")!==false){ 
$s_city="石家莊"; 
}elseif(strstr($area_ga,"福建")!==false){ 
$s_city="福州"; 
}elseif(strstr($area_ga,"臺灣")!==false){ 
$s_city="臺北"; 
}elseif(strstr($area_ga,"香港")!==false){ 
$s_city="香港"; 
}elseif(strstr($area_ga,"廣西")!==false){ 
$s_city="南寧"; 
}elseif(strstr($area_ga,"浙江")!==false){ 
$s_city="杭州"; 
}elseif(strstr($area_ga,"江蘇")!==false){ 
$s_city="南京"; 
}elseif(strstr($area_ga,"山東")!==false){ 
$s_city="濟南"; 
}elseif(strstr($area_ga,"安徽")!==false){ 
$s_city="合肥"; 
}elseif(strstr($area_ga,"湖南")!==false){ 
$s_city="長沙"; 
}elseif(strstr($area_ga,"四川")!==false){ 
$s_city="成都"; 
}elseif(strstr($area_ga,"云南")!==false){ 
$s_city="昆明"; 
}elseif(strstr($area_ga,"廣東")!==false){ 
$s_city="廣州"; 
}elseif(strstr($area_ga,"貴州")!==false){ 
$s_city="貴陽"; 
}elseif(strstr($area_ga,"西藏")!==false){ 
$s_city="拉薩"; 
}elseif(strstr($area_ga,"新疆")!==false){ 
$s_city="烏魯木齊"; 
}elseif(strstr($area_ga,"蒙古")!==false){ 
$s_city="呼和浩特"; 
}elseif(strstr($area_ga,"黑龍江")!==false){ 
$s_city="哈爾濱"; 
}elseif(strstr($area_ga,"遼寧")!==false){ 
$s_city="沈陽"; 
}elseif(strstr($area_ga,"吉林")!==false){ 
$s_city="長春"; 
}elseif(strstr($area_ga,"河南")!==false){ 
$s_city="鄭州"; 
}elseif(strstr($area_ga,"湖北")!==false){ 
$s_city="武漢"; 
}elseif(strstr($area_ga,"山西")!==false){ 
$s_city="太原"; 
}elseif(strstr($area_ga,"陜西")!==false){ 
$s_city="西安"; 
}elseif(strstr($area_ga,"甘肅")!==false){ 
$s_city="蘭州"; 
}elseif(strstr($area_ga,"寧夏")!==false){ 
$s_city="銀川"; 
}elseif(strstr($area_ga,"海南")!==false){ 
$s_city="海口"; 
}elseif(strstr($area_ga,"江西")!==false){ 
$s_city="南昌"; 
}elseif(strstr($area_ga,"澳門")!==false){ 
$s_city="澳門"; 

//如果都不存在 就是默認顯示廣州 比如本地機 
else{ 
$s_city="廣州"; 


如上代碼: 
其中 city.dat中是一些城市 格式是這樣的 

復制代碼代碼如下:

廣州|深圳|汕頭|惠州|珠海|揭陽|佛山|河源|陽江|茂名|湛江|梅州|肇慶|韶關|潮州|東莞|中山|清遠|江門|汕尾|云浮|增城|從化|樂昌|南雄|臺山|開平|鶴山|恩平|廉江|雷州|吳川|高州|化州|高要|四會|興寧|陸豐|陽春|英德|連州|普寧|羅定|北京|天津|上海|重慶|烏魯木齊|克拉瑪依|石河子|阿拉爾|圖木舒克|五家渠|哈密|吐魯番|阿克蘇|喀什|和田|伊寧|塔城|阿勒泰|奎屯|博樂|昌吉|阜康|庫爾勒|阿圖什|烏蘇|拉薩|日喀則|銀川|石嘴山|吳忠|固原|中衛(wèi)|呼和浩特|包頭|烏海|赤峰|通遼|鄂爾多斯|呼倫貝爾|巴彥淖爾|烏蘭察布|霍林郭勒|滿洲里|牙克石|扎蘭屯|根河|額爾古納|豐鎮(zhèn)|錫林浩特|二連浩特|烏蘭浩特| 


參考 

復制代碼代碼如下:

<?php 
echo strstr('aaaaaaaaaaaboaaaaaaaaaaaaboxcccccccccbcccccccccccccc','box')."<br>\n"; 
//輸出boxcccccccccbcccccccccccccc 
// 完整匹配中間的box 不因前而的b而停止 
echo strstr('aaaaaaAbaaa aaaa aaaaaaaaaboxccccccccccccboxccccccccccc','box')."<br>\n"; 
//輸出boxccccccccccccboxccccccccccc 
// 有兩個關鍵字時, 遇到第一個停止. 
echo strstr('Subscrtibe our to free newsletter about New Freew to','to')."<br>\n"; 
//輸出to free newsletter about New Freew to 
?>