PHP를 사용하여 단어가 다른 문자열에 포함되어 있는지 확인하려면 어떻게 해야 합니까?
유사 코드
text = "I go to school";
word = "to"
if ( word.exist(text) ) {
return true ;
else {
return false ;
}
텍스트에 단어가 있으면 true를 반환하는 PHP 함수를 찾고 있습니다.
필요에 따라 몇 가지 옵션이 있습니다.이 간단한 예를 들면,strpos()
이 가장 단순하고 직접적인 기능일 것입니다.만약 당신이 결과를 가지고 무언가를 해야 한다면, 당신은 아마도 선호할 것입니다.strstr()
또는preg_match()
만약 당신이 바늘로 끈 대신 복잡한 패턴을 사용해야 한다면, 당신은preg_match()
.
$needle = "to";
$haystack = "I go to school";
strpos() 및 stripos() 방법("strpos"는 대소문자를 구분하지 않음):
if (strpos($haystack, $needle) !== false) echo "Found!";
strstr() 및 stristr() 방법(stristr은 대소문자 구분 안 함):
if (strstr($haystack, $needle)) echo "Found!";
preg_match 메서드(정규 표현식, 훨씬 유연하지만 실행 속도가 느림):
if (preg_match("/to/", $haystack)) echo "Found!";
완전한 기능을 요청했으므로 다음과 같이 조합할 수 있습니다(니들 및 건초 스택의 기본값).
function match_my_string($needle = 'to', $haystack = 'I go to school') {
if (strpos($haystack, $needle) !== false) return true;
else return false;
}
이제 PHP 8.0.0에는 다음과 같이 작동하는 str_contains 함수가 포함되어 있습니다.
if (str_contains($haystack, $needle)) {
echo "Found";
}
function hasWord($word, $txt) {
$patt = "/(?:^|[^a-zA-Z])" . preg_quote($word, '/') . "(?:$|[^a-zA-Z])/i";
return preg_match($patt, $txt);
}
$word가 "to"인 경우 다음과 일치합니다.
- "리슨 투 미"
- "달에게"
- "최신"
하지만 그렇지 않습니다.
- "함께"
- "우주로"
사용:
return (strpos($text,$word) !== false); //case-sensitive
또는
return (stripos($text,$word) !== false); //case-insensitive
<?php
$text = "I go to school";
$word = "to"
$pos = strpos($text, $word);
if ($pos === false) {
return false;
} else {
return true;
}
?>
$text="I go to school";
return (strpos($text, 'to')!== false);
strpos의 올바른 사용법을 찾는 데 필요한 설명서 페이지
(이미 제공된 strpos 예제 외에) 다른 방법은 'strstr' 함수를 사용하는 것입니다.
if (strstr($haystack, $needle)) {
return true;
} else {
return false;
}
이러한 문자열 함수를 사용할 수 있습니다.
strstr — 문자열의 첫 번째 항목을 찾습니다.
stistr — 대소문자를 구분하지 않는 strstr()
strchr — 문자열에서 마지막으로 나타나는 문자를 찾습니다.
strpos — 문자열에서 하위 문자열이 처음 나타나는 위치를 찾습니다.
strpbrk - 문자열 집합을 검색합니다.
그래도 도움이 되지 않으면 다음을 사용해야 합니다.preg
정규 표현
preg_match - 정규식 일치 수행
PHP 8 새 함수 str_contains
if (str_contains('Foo Bar Baz', 'Foo')) {
echo 'Found';
}
OR
사용하다strpos
php에서 기능합니다.
$text = "I go to school";
$word = "to"
if (strpos($text,$word) !== false ) {
echo 'true';
}
@미스터 클레이
할 수 없어요.
"/(?:^|\w+)" . preg_quote($word, '/') . "(?:$|\w+)/i"
시작 또는 공백, 끝 또는 공백을 확인합니다.
언급URL : https://stackoverflow.com/questions/1019169/how-can-i-check-if-a-word-is-contained-in-another-string-using-php
'programing' 카테고리의 다른 글
스택 오버플로는 페이지 다시 로드 없이 서버 측 이벤트를 어떻게 알립니까?Firebug에 요청이 없습니다. (0) | 2023.08.25 |
---|---|
open과 io의 차이.이진 스트림의 바이트 IO' (0) | 2023.08.20 |
왜 익명 함수를 정의하고 jQuery를 인수로 전달합니까? (0) | 2023.08.20 |
INVALID_STATE_ERR: DOM 예외 11 (0) | 2023.08.20 |
Android에서 비트맵 크기를 조정하는 방법? (0) | 2023.08.20 |