PHP는 문자열에 다른 문자가 포함되어 있는지 확인합니다.
다음 함수를 사용하여 문자열에 다른 문자가 포함되어 있는지 확인하는 것은 PHP에서 매우 일반적인 작업입니다. 매우 간단하지만 몇 가지 기능을 작성했습니다. 품질이 그다지 높지는 않지만 연습용으로 사용해야 합니다. 이러한 기능이 도움이 된다면 매우 기쁠 것입니다. 이 기능들 중에서 저는 네 번째 기능을 더 선호합니다. . .
<?php /** * 以下几个函数均可用来判断某字符串是否包含另外一个字符串 * PHP 中判断一个字符串是否包含其它字符是很常见的操作。 * 虽然很简单,但还是写了几个函数,质量可能不是很高,权当锻炼。 * 如果这几个函数恰好能帮上你的忙,我将会很高兴的。 */ /** * 利用一下 strpos() 函数 * @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() 函数 * @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 $b가 $a에 존재하면 true이고, 그렇지 않으면 false입니다.
!== false(또는 === false)를 사용하는 이유는 $b가 정확히 $a의 시작 부분에 있으면 함수가 int(0)를 반환하므로 0은 false이지만 $b 은 실제로 $ a에 있으므로 !==를 사용하여 유형을 결정하고 그것이 false인지 확인하십시오. 어젯밤에 중관촌 서점에 가서 strpos === true 를 사용해 판단한 책을 봤습니다. 이것은 매우 잘못된 것입니다. . .
오류가 발생한 책은 "PHP 취업 가이드"(2012-02-26 업데이트) 107페이지입니다.
strstr(), stristr() 등 PHP에서 기본적으로 지원하는 다른 함수도 있습니다. . 직접 판단하시면 됩니다.
정의 및 사용법
strstr() 함수는 다른 문자열에서 해당 문자열이 처음 나타나는 것을 검색합니다.
이 함수는 (일치하는 지점부터) 문자열의 나머지 부분을 반환합니다. 검색된 문자열을 찾을 수 없으면 false를 반환합니다.
구문
strstr(string,search)
매개변수 설명
string 필수입니다. 검색할 문자열을 지정합니다.
검색이 필요합니다. 검색할 문자열을 지정합니다. 인수가 숫자인 경우 숫자 ASCII 값과 일치하는 문자를 검색합니다.
팁 및 참고 사항
참고: 이 함수는 바이너리 안전합니다.
참고: 이 함수는 대소문자를 구분합니다. 대소문자를 구분하지 않고 검색하려면 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에는 다음 형식의 일부 도시가 포함되어 있습니다. 이렇게
广州|深圳|汕头|惠州|珠海|揭阳|佛山|河源|阳江|茂名|湛江|梅州|肇庆|韶关|潮州|东莞|中山|清远|江门|汕尾|云浮|增城|从化|乐昌|南雄|台山|开平|鹤山|恩平|廉江|雷州|吴川|高州|化州|高要|四会|兴宁|陆丰|阳春|英德|连州|普宁|罗定|北京|天津|上海|重庆|乌鲁木齐|克拉玛依|石河子|阿拉尔|图木舒克|五家渠|哈密|吐鲁番|阿克苏|喀什|和田|伊宁|塔城|阿勒泰|奎屯|博乐|昌吉|阜康|库尔勒|阿图什|乌苏|拉萨|日喀则|银川|石嘴山|吴忠|固原|中卫|呼和浩特|包头|乌海|赤峰|通辽|鄂尔多斯|呼伦贝尔|巴彦淖尔|乌兰察布|霍林郭勒|满洲里|牙克石|扎兰屯|根河|额尔古纳|丰镇|锡林浩特|二连浩特|乌兰浩特|
참고
<?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 ?>
문자열에 특정 문자가 포함되어 있는지 확인하는 php strstr 검색 기능과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!