$haystack = '반갑습니다! 코딩에브리바디입니다.';
$needle = '코딩';

if (str_contains($haystack, $needle)) {
	echo "문자열에 '$needle'이 포함되어 있습니다.";
} else {
	echo "문자열에 '$needle'이 포함되어 있지 않습니다.";
}

// 출력: "문자열에 '코딩'이 포함되어 있습니다."
$haystack = 'Hello, World!';

if (str_contains($haystack, 'world!')) {
	echo "문자열에 'world!'가 포함되어 있습니다.";
} else {
	echo "대소문자가 일치하지 않아 'world!'를 찾을 수 없습니다.";
}

// 출력: "대소문자가 일치하지 않아 'world!'를 찾을 수 없습니다."
if (!function_exists('str_contains')) {
    /*
	 * str_contains() 함수의 polyfill 예제
	 * 출처: https://core.trac.wordpress.org/browser/trunk/src/wp-includes/compat.php#L423
    */
	function str_contains($haystack, $needle) {
		if ('' === $needle) {
			return true;
		}

		return false !== strpos($haystack, $needle);
	}
}

$haystack = '반갑습니다! 코딩에브리바디입니다.';
$needle = '코딩';

if (str_contains($haystack, $needle)) {
	echo "문자열에 '$needle'이 포함되어 있습니다.";
} else {
	echo "문자열에 '$needle'이 포함되어 있지 않습니다.";
}

// 출력: "문자열에 '코딩'이 포함되어 있습니다."
str_contains(string $haystack, string $needle): bool
if (str_contains('abc', '')) {
    echo '빈 문자열이 있는지 확인하면 항상 true가 반환됩니다';
}

// 출력: '빈 문자열이 있는지 확인하면 항상 true가 반환됩니다'
$searchTerm = '사과';
$text = '나는 사과와 바나나를 좋아해요.';

if (str_contains($text, $searchTerm)) {
    echo "텍스트에 '$searchTerm' 단어가 포함되어 있습니다.";
} else {
    echo "텍스트에 '$searchTerm' 단어가 포함되어 있지 않습니다.";
}

// 출력: "텍스트에 '사과' 단어가 포함되어 있습니다."
$content = '이 문장에는 원치 않는 단어가 포함되어 있습니다.';
$unwantedWords = ['원치 않는', '나쁜', '부적절한'];

foreach ($unwantedWords as $word) {
    if (str_contains($content, $word)) {
        $content = str_replace($word, '***', $content);
    }
}

echo $content;

// 출력: '이 문장에는 *** 단어가 포함되어 있습니다.'
$fileName = 'document.pdf';
$allowedExtensions = ['pdf', 'docx', 'txt'];

$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);

if (in_array($fileExtension, $allowedExtensions)) {
    echo '파일의 확장자가 유효합니다.';
} else {
    echo '유효하지 않은 파일 확장자입니다.';
}

// 출력: '파일의 확장자가 유효합니다.'